我仍然是Zend Framework的新手,所以请原谅我这是一个愚蠢的问题!
我在应用程序的主布局中使用breadcrumbs视图助手来提供通常的痕迹导航功能。但是我真的需要面包屑来包含传递给用户点击的动作的参数......
因此,如果您从“/ controller / parent / id / 1”点击到“/ controller / child / id / 2”,子页面上的痕迹应链接回“/ controller / parent / id / 1”而不仅仅是“/ controller / parent /”
我有什么选择?我是否需要使用数据库的全部内容构建Zend_Navigation树,以便为每个操作提供每个可能的ID?或者,我可以编写自己的帮助程序,在呈现面包屑时将额外的参数添加到Zend_Navigation_Page对象中吗?
第一种选择似乎是阻力最小的路径,但感觉非常低效!虽然,我想这可以通过延迟加载来减少内存使用量。
感谢您的帮助!
汤姆
答案 0 :(得分:2)
我认为答案是使用navigation.xml中的reset_params
在您的页面中,您需要设置reset_params = 0,如下所示:
<reset_params>0</reset_params>
请参阅:http://framework.zend.com/manual/en/zend.navigation.pages.html
例如,在我们的应用程序中,我们使用类似的东西:
<config>
<nav>
<fsms>
<label>Home</label>
<module>default</module>
<controller>index</controller>
<action>index</action>
<pages>
<!-- Cases -->
<page_case>
<label>Case</label>
<module>case</module>
<controller>details</controller>
<action>index</action>
<reset_params>0</reset_params>
<pages>
<!-- Case Creation -->
<page_case_create>
<label>Creation</label>
<module>case</module>
<controller>create</controller>
<action>index</action>
</page_case_create>
</pages>
</page_case>
</pages>
</fsms>
</nav>