3

我还是 Zend 框架的新手,所以如果这是一个愚蠢的问题,请原谅我!

我在应用程序的主布局中使用面包屑视图助手来提供常用的面包屑功能。但是我真的需要面包屑来包含传递给用户单击的操作的参数......

因此,如果您从“/controller/parent/id/1”单击到“/controller/child/id/2”,则子页面上的面包屑应该链接回“/controller/parent/id/1”,而不仅仅是“/控制器/父/”

我有哪些选择?我是否需要使用我的数据库的全部内容来构建我的 Zend_Navigation 树,以便满足每个操作的每个可能的 ID?或者当面包屑被渲染时,我可以编写我自己的助手来将额外的参数添加到 Zend_Navigation_Page 对象吗?

第一个选项似乎是阻力最小的路径,但感觉效率很低!虽然,我想这可以通过延迟加载来减少内存使用。

谢谢你的帮助!

汤姆

4

1 回答 1

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>

于 2009-12-03T01:06:38.767 回答