2009-06-12 2 views
0

で既存のparamsを保ち、このようなURL構造を持っているZendのURLビューヘルパーの私ZFプロジェクトでは現時点では逆にルート

このようなURLを生成し
<?php echo $this->url(array('blog_page'=>3)); ?> 

/news/index/news_page/1/blog_page/3 

私は何をしたいのですが素敵持つようにカスタムのルートを使用していますR URLを、このような何か:

new Zend_Controller_Router_Route(
    'news/:news_page/:blog_page', 
    array('controller' => 'news', 'action' => 'index') 
); 

しかし、私はビューヘルパーで使用するこのルートをしようとすると:

<?php echo $this->url(array('blog_page'=>3), 'newsIndex'); ?> 

を私はのparamsでnews_pageを指定していませんでしたので、それはエラーがスローされます。

どうすればこの問題を回避でき、urlヘルパーにこれらのパラメータの '現在の'値を使用するように指示できますか?

答えて

6

urlヘルパーは、現在のリクエストに存在する既存のパラメータを使用します。特定のケースでは、要求オブジェクトにnews_pageパラメータが設定されていないようです。ルートのnews_pageパラメータのデフォルト値を設定すると、問題が解決するはずです。それが起こった正確に何を、

new Zend_Controller_Router_Route(
    'news/:news_page/:blog_page', 
    array('controller' => 'news', 'action' => 'index', 'news_page' => 1) 
); 
+0

おかげでジェイソン:

だから、あなたのルート定義は次のようになります。 –

関連する問題