使用Zend_Navigation时,如何将class ="current"应用于<a href=...>标记?

Sti*_*ing 1 php zend-framework zend-navigation


正如您可以从标题中读取的那样,我正在尝试将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);
     } 
Run Code Online (Sandbox Code Playgroud)

然后在View脚本中:

<div class="NavMenu">
  <?= $this->navigation()->menu(); ?>
</div>
Run Code Online (Sandbox Code Playgroud)

我很确定有一些标准和正确的方法,但经过大约几个小时的搜索后,我无法找到答案.非常感谢你的帮助.

小智 5

坚持你的控制器......

public function init()
{
            $uri = $this->_request->getPathInfo();          
            $activeNav = $this->view->navigation()->findByUri($uri);
            $activeNav->active = true;
            $activeNav->setClass("active");
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读Zend_Navigation_Page中setClass方法的注释

http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Navigation/Page.php