Php Zend navigation菜单集类在两个调用中都出现
我已将zend_navigation设置为使用我的菜单项数组,并可以按如下方式调用我的菜单:Php Zend navigation菜单集类在两个调用中都出现,php,zend-framework,Php,Zend Framework,我已将zend_navigation设置为使用我的菜单项数组,并可以按如下方式调用我的菜单: echo $this->navigation()->menu(); 然而,我有一个菜单,一个页面上有一个菜单编辑器,所以有两个调用,以生成另一个ul,它可以根据需要重新排序 我的问题出现在我尝试使用添加类到“可排序”菜单时 ->setUlClass('sortable') 它按预期添加类,但同时添加到创建菜单的两个调用中。电话如下: echo $this->navigatio
echo $this->navigation()->menu();
然而,我有一个菜单,一个页面上有一个菜单编辑器,所以有两个调用,以生成另一个ul,它可以根据需要重新排序
我的问题出现在我尝试使用添加类到“可排序”菜单时
->setUlClass('sortable')
它按预期添加类,但同时添加到创建菜单的两个调用中。电话如下:
echo $this->navigation()->menu();
导航。phtml:
echo $this->navigation()->menu();
index.phtml
echo $this->navigation()->menu()->setUlClass('sortable');
但它们都继承了类“sortable”
有人知道这可能的原因吗,因为我以为一个新的调用会创建一个新的导航菜单实例来呈现
提前谢谢 这非常简单,如上所述 要做的事情是将第二个菜单完全渲染为-render it。。。。例如,渲染时不要使用默认的menu()方法。这样,您就可以告诉Zend_导航元素“吐出”结果,而不是将其视为自身的一个集合属性——如果这有意义的话 上面链接的关键部分是此位:
$options = array('ulClass' => 'submenu');
echo($this->navigation()->menu()->renderMenu($this->miscnavigation, $options));
在您的实例中,可以将其重新加工为:
echo($this->navigation()->menu()->renderMenu($this->navigation()->getContainer(), array('ulClass' => 'submenu')));
可以在您的视图中使用。尝试像这样回应它们:
echo $this->navigation()->menu()->renderMenu();
echo $this->navigation()->menu()->renderMenu(null, array('ulClass' => 'sortable'));