Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend navigation菜单集类在两个调用中都出现_Php_Zend Framework - Fatal编程技术网

Php Zend navigation菜单集类在两个调用中都出现

Php Zend navigation菜单集类在两个调用中都出现,php,zend-framework,Php,Zend Framework,我已将zend_navigation设置为使用我的菜单项数组,并可以按如下方式调用我的菜单: echo $this->navigation()->menu(); 然而,我有一个菜单,一个页面上有一个菜单编辑器,所以有两个调用,以生成另一个ul,它可以根据需要重新排序 我的问题出现在我尝试使用添加类到“可排序”菜单时 ->setUlClass('sortable') 它按预期添加类,但同时添加到创建菜单的两个调用中。电话如下: echo $this->navigatio

我已将zend_navigation设置为使用我的菜单项数组,并可以按如下方式调用我的菜单:

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'));