Zend url görünümü yardımcı - bir ters rota mevcut params tutarak

1 Cevap php

Benim ZF projede şu anda böyle bir URL yapısı vardır:

/news/index/news_page/1/blog_page/2

Benim sayfalamayı oluşturmak aşağıdaki gibi ben URL yardımcıyı kullanın:

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

Hangi böyle bir URL oluşturur:

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

Ne yapmak istiyorum güzel URL'ler için özel bir yol, böyle bir şey kullanmaktır:

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

Ancak, görünüm yardımcısında bir kullanımı bu rota çalıştığınızda:

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

Ben params news_page belirtilmeyen ettik çünkü bir hata atar.

Bunu nasıl etrafında almak ve bu params 'geçerli' değerleri kullanmak için url helper söyleyebilir?

1 Cevap

Bu mevcut isteğin varsa url yardımcı varolan parametresini kullanacağız. Özel durumda, news_page param isteği nesne ayarlanır değil, sanki görünüyor. Rotanız news_page parametre için varsayılan değer ayarlama sorunu çözmek gerekir.

Yani, rota tanımı bu gibi görünmelidir:

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