我的应用程序中有构成导航树的页面。我想使用请求的值将页面动态插入到我的导航中。我已经有了查找页面然后addPage()
在其上调用方法的逻辑。我正在寻找的是如何轻松地将Zend_Controller_Request
值传递给Zend_Navigation_Page::factory()
以便我可以添加该页面。也许甚至写成一个插件?
解决方案
AngelP 是最接近的,所以我给了他信任,但这是我的解决方案:
$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));
}
此代码从控制器操作执行。 是我在视图中的 $this->view->siteNav
一个实例。从实例很容易传递给实例的方法,然后再传递给实例的方法。Zend_Navigation
getParams()
Zend_Controller_Request
Zend_Navigation_Page::factory()
setParams()
Zend_Navigation_Page_Mvc