2011-01-25 6 views
0

Zend_Controller_Routerを既定で既定のルートを使用するように構成する方法を教えてください。未知の何らかの理由で、現在のルートを使用します。Zend Routerで既定のルートを使用します。

これはいくつかの迷惑なルーティングの問題を引き起こしています。私は、既定のルートを明示的に使用する何百ものリンクを編集するのは、1つのカスタムルートを追加するための妥当な解決策ではないと思います。

+0

コードとリクエストの例と、今、あなたが言っていることはd oesn'tは意味をなすように思われます(デフォルトのルート - 名前が意味するように*は*、まあ、デフォルトルートです)。ところで、[ZF - Default routes](http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.default-routes)をチェックしましたか? – wimvds

+0

私は彼がURLヘルパーを意味すると思います。 –

+0

URLヘルパーはその一部ですが、問題を引き起こしているコンポーネントではありません。名前付きルートが指定されていない場合、ルータはデフォルトルートの代わりに現在のルートを使用します。 URLヘルパーはこのメソッドをプロキシします。 – mctom987

答えて

0

あなたの質問は明らかではなく、混乱していますが、私は試してみます。

私はあなたがZend_Controller_Routeを意味するわけではありませんが、あなたの意見で生成されたリンクについて実際に話していると仮定します。

あなたはあなたがローカルで作業している場合は、この

のようなものに設定することもできます。この

Zend_Controller_Front::getInstance()->setBaseUrl("/"); 

ようなあなたのブートストラップにbaseUrlを設定することができますbaseUrl()

このような
<a href="<?=$this->baseUrl("about-us")?>">About Us</a> 

を使用することができます

Zend_Controller_Front::getInstance()->setBaseUrl("/my-app/public"); 

baseUrl()あなたのビューはそのパスを使用してすべてのURLのベースになります。これが機能するには、baseUrl()にあなたのリンクをラップする必要があることを覚えておいてください。

url()ヘルパーはこれには便利ではありません。これは、リクエストオブジェクトの現在のパラメータを維持したいページングなどの作業に使用されます。

希望に役立ちます。マシューウェアーO'Phinneyから

+0

私は実際にZend_Controller_Routeを意味します。 名前付きルート 'profile'がある場合、デフォルトではプロファイルルートを使用してそれらのURLをマップしようとするため、そのページのすべてのリンクが壊れます。私は名前付きルートなしで他のすべてのページの動作と同じように、 'default'ルートを使用します。 – mctom987

+0

'baseUrl'を使用しますか?サイトで 'url'を間違って使用しました。 –

0

あなたは上記の引用ロジックが 組み立て()メソッド内にあります。 (または) が発生したかどうかにかかわらず、assemble()を と呼びます。デフォルトでは、 は、ルート名が でない場合、現在一致しているルート が使用されます。一致が行われなかった場合は、 がデフォルトルートが使用されます。

現在 一致したルートを使用するための理論的根拠は、一般的に、あなた 同じスキーマ 内のルーティングされるということです - 例として、あなたがRESTfulなパラダイム内であれば、あなたの リンクの大半は、以内となります現在の リソース。何のルートが指定されていないときに我々は「デフォルト」 ルートを利用するためにあなたの の提案に従っていた場合Rest_Routeがデフォルトルート ではないので、すべての単一のコールを( 少なくとも、それは私があなた が言っどう解釈するかだ) assemble()には のルート名を使用する必要があります。他の人は が「頭痛」を引き起こすと批判します。「個人的に

は、私が と常には、ルート名を指定明示的なことを好む。 私が知っているこの方法をまさにルート私は中に ターゲッティングだ)(組み立て、その が簡単にデバッグになり

唯一の解決策のようなサウンドは、各リンクのルートをNULLにするのではなく、「デフォルト」を使用するように設定することです。

関連する問題