正如您可以从标题中读取的那样,我正在尝试将class="current"
部分添加到我的zend_navigation呈现的HTML锚标记中。
这就是我所拥有的:
bootstrap.php中
protected function _initNavigation(){
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$config = new Zend_Config_Xml(APPLICATION_PATH .'/configs/navigation.xml','nav');
$navigation = new Zend_Navigation($config);
$navigation->current()
$view->navigation($navigation);
}
然后在View脚本中:
<div class="NavMenu">
<?= $this->navigation()->menu(); ?>
</div>
我很确定有一些标准和正确的方法,但经过大约几个小时的搜索后,我无法找到答案。非常感谢你的帮助。
答案 0 :(得分:5)
将它贴在你的控制器中......
public function init()
{
$uri = $this->_request->getPathInfo();
$activeNav = $this->view->navigation()->findByUri($uri);
$activeNav->active = true;
$activeNav->setClass("active");
}
有关更多信息,请阅读Zend_Navigation_Page
中setClass方法的注释http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Navigation/Page.php
答案 1 :(得分:0)
您可以创建自己的菜单视图部分,或者如果您只想定位活动菜单项下的链接,请尝试
li.active > a
在你的CSS中。