Ben navigasyon ağacını oluşturan benim uygulamada sayfaları var. Ben dinamik istek değerlerini kullanarak benim navigasyonu sayfaları eklemek istiyorum. Zaten sayfayı bulmak ve bunun üzerine addPage()
yöntemi çağırmak için mantığı var. Ne arıyorum kolayca Zend_Navigation_Page::factory()
için Zend_Controller_Request
değerleri geçirmek için bu yüzden bu sayfayı ekleyebilirsiniz nasıl. Belki de bir eklenti olarak yazılır?
Solution
AngelP yakın var, bu yüzden ben ona kredi veriyorum, ama burada benim çözüm:
$request = $this->getRequest();
if ($page = $this->view->siteNav->findBy('id', $page_id)) {
$page->addPage(Zend_Navigation_Page::factory($request->getParams())
->setParams($request->getParams())
->setLabel($this->view->title)
->setVisible(false));
}
Bu kod bir denetleyicisi eylem yürütülür. $this->view->siteNav
Ben görünümünde var Zend_Navigation
bir örneğidir. getParams()
Zend_Controller_Request
örneğinden kolayca Zend_Navigation_Page::factory()
ve geçirilen daha sonra Zend_Navigation_Page_Mvc
örneğinin setParams()
yönteme .