Bir Zend_Controller_Request bir Zend_Navigation_Page_Mvc örneğini oluşturma

0 Cevap php

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 .

0 Cevap