我已设置zend_navigation来处理我的菜单项数组,并可按如下方式调用我的菜单:
echo $this->navigation()->menu();
但是,我有一个菜单和页面上的菜单编辑器,所以有两个调用,以生成另一个ul,可以根据需要重新排序。
当我尝试使用
将类添加到'sortable'菜单时出现问题->setUlClass('sortable')
按预期添加了类,但是对两个的调用创建了菜单。电话如下:
navigation.phtml:
echo $this->navigation()->menu();
index.phtml
echo $this->navigation()->menu()->setUlClass('sortable');
但他们都继承了“可排序”这个类。
任何人都知道任何可能的原因,因为我认为新的调用会创建一个新的导航菜单实例来渲染..?
提前致谢!
答案 0 :(得分:0)
这很简单,如this chap's blog所述。
要做的是将第二个菜单渲染为 - 渲染它.... E.G.渲染它不使用默认的menu()方法。这样,你告诉Zend_Navigation元素'吐出'结果,而不是把它当作自己的set属性 - 如果这是有道理的。
上面链接的关键部分是这一点:
$options = array('ulClass' => 'submenu');
echo($this->navigation()->menu()->renderMenu($this->miscnavigation, $options));
在您的实例中,可以将其重新编写为:
echo($this->navigation()->menu()->renderMenu($this->navigation()->getContainer(), array('ulClass' => 'submenu')));
可在您的视图中使用。
答案 1 :(得分:0)
尝试回复它们:
echo $this->navigation()->menu()->renderMenu();
echo $this->navigation()->menu()->renderMenu(null, array('ulClass' => 'sortable'));