如何使用Zend_Navigation为ZendFramework应用程序实现面包屑导航?有哪些最佳实践/建议/技巧?在哪里以及如何定义页面层次结构是最佳方法?
如何使用Zend_Navigation为ZendFramework应用程序实现面包屑导航?有哪些最佳实践/建议/技巧?在哪里以及如何定义页面层次结构是最佳方法?
Zend_Navigation
object that you created in your bootstrap (or some other place) in the Zend_Registry
with key Zend_Navigation
. That way the object will be caught up by all navigation view-helpers.Zend_Application
-style bootstrapping you can simply use the Zend_Application_Resource_Navigation
resource to setup navigation. Just set resources.navigation.storage.registry = true
in your configuration.you can then simply
echo $this->navigation()->breadcrumbs()
in your view or layout script.
谈到如何定义页面层级结构,如果你有一个规模较小且比较静态的网站,可以简单地在配置中定义页面(使用新的Zend_Application
-引导方法):
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"
...
或者您可以使用额外的配置文件,或者在前端控制器插件或操作助手中构建您的页面层次结构。例如,如果您有一个相当大的站点结构,并且不想在每个请求上实例化整个站点地图,则可以这样做。这样,您还可以插入动态页面,例如其标签是基于请求参数动态创建的。