【问题标题】:Passing parameters in breadcrumbs在面包屑中传递参数
【发布时间】:2009-12-01 15:22:11
【问题描述】:

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

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

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

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

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

感谢您的帮助!

汤姆

【问题讨论】:

    标签: php zend-framework breadcrumbs


    【解决方案1】:

    我认为答案是在你的 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 2018-10-01
      • 2018-05-09
      • 2020-05-01
      • 1970-01-01
      相关资源
      最近更新 更多