【发布时间】:2013-04-11 02:09:58
【问题描述】:
我目前正在使用 Zend Framework 1.12.3 创建我的新网站,但我看到了一些我讨厌 Zend Navigation 的地方:
当子路由处于活动状态时(例如:博客单篇文章,路由
blog-post),它不会将父页面(本例中的路由blog)标记为活动。
这是我的代码:(navigation.xml)
<blog>
<label>BLOG</label>
<route>blog</route>
<title>BLOG_TITLE</title>
<pages>
<blog-post>
<route>blog-post</route>
<visible>false</visible>
</blog-article>
<blog-category>
<route>blog-category</route>
<visible>false</visible>
</blog-category>
</pages>
</blog>
明确地说,如果 blog-post 这样的子路由处于活动状态,我会将页面 blog 标记为活动状态。不幸的是,如果不使用子页面(我不想要),它就不会这样做。因此,如果有办法将路由名称blog 以及所有以blog 开头的路由(例如:blog-post、blog-category、blog-author)标记为活动状态,那将非常有用!
我不想为此使用子页面,因为我的菜单部分呈现了一个空的下拉菜单(Twitter Bootstrap)。自己看:
【问题讨论】:
-
为什么不使用 ZF2?因为它是一个新网站。
-
我只给我的主要导航元素一个模块/控制器并将动作留空 - 然后每个子项目都有一个动作。这就是你得到你想要的东西的方式。它不适用于uri。你必须使用路由器。
-
@MarshallHouse 我不喜欢 ZF2 命名空间类。
-
我不知道它是否支持 uri 中的通配符,但您可以尝试在父级中使用
/blog/*。 -
命名空间是一个很小的学习曲线,然后你就不想回去了。它们整洁多了。
标签: php zend-framework twitter-bootstrap zend-navigation