【发布时间】:2009-07-11 08:17:23
【问题描述】:
使用 Zend_Navigation 为 ZendFramework 应用程序实现面包屑的最佳实践/建议/技术是什么?如何以及在哪里定义页面层次结构的最佳方法?
【问题讨论】:
标签: php zend-framework navigation breadcrumbs
使用 Zend_Navigation 为 ZendFramework 应用程序实现面包屑的最佳实践/建议/技术是什么?如何以及在哪里定义页面层次结构的最佳方法?
【问题讨论】:
标签: php zend-framework navigation breadcrumbs
获取面包屑很容易:
Zend_Registry 中使用键Zend_Navigation 注册您在引导程序(或其他地方)中创建的Zend_Navigation 对象。这样该对象就会被所有导航视图助手捕捉到。Zend_Application 样式引导,您可以简单地使用Zend_Application_Resource_Navigation 资源来设置导航。只需在您的配置中设置 resources.navigation.storage.registry = true。你可以简单地
echo $this->navigation()->breadcrumbs()
在您的视图或布局脚本中。
谈到如何定义页面层次结构,我想说,如果你有一个更小、更静态的网站,你可以简单地在你的配置中定义页面(使用新的Zend_Application-bootstrapping-approach 时) :
resources.navigation.pages.home.label = "Home"
resources.navigation.pages.home.action = "index"
resources.navigation.pages.home.controller = "index"
resources.navigation.pages.login.label = "Login"
resources.navigation.pages.login.action = "login"
resources.navigation.pages.login.controller = "users"
resources.navigation.pages.users.label = "Users"
resources.navigation.pages.users.action = "list"
resources.navigation.pages.users.controller = "users"
resources.navigation.pages.users.pages.show.label = "Show"
resources.navigation.pages.users.pages.show.action = "show"
resources.navigation.pages.users.pages.show.controller = "users"
...
或者,您可以使用额外的配置文件,或者您可以在前端控制器插件或操作助手中构建页面层次结构,例如如果您有一个相当大的站点结构并且不想在每个请求上实例化整个站点地图。这样,您还可以插入动态页面,例如其标签是根据请求参数动态创建的。
【讨论】:
【讨论】: