是否有人将Zend Navigation与需要动态参数的网址结合使用?
Zend_Navigation在处理静态路由时似乎非常简单,但我无法想办法让它与动态URL参数一起使用。
像这样的路线:
routes.editUser.route = '/users/:id/edit'
routes.editUser.defaults.controller = 'user'
routes.edutUser.defaults.action = 'edit'
在此导航中:
<pages>
<editUser>
<controller>users</controller>
<action>edit</action>
<route>editUser</route>
</editUser>
</pages>
除非我为:id
指定默认值,否则只会在Zend_Navigation中抛出错误。但是,如果在构造菜单时无法注入实际的用户ID,对我来说没用。
有直接的方法吗?感谢。
答案 0 :(得分:5)
resources.navigation.pages.profile.params_id = "USER_ID"
// Looks for any navigation pages requiring user information and injects it
$pages = $this->getContainer()->findAllBy('params_id', 'USER_ID');
foreach($pages as &$page){
$page->setParams(array(
'id'=>$user->id,
'username'=>$user->username
));
}