Zend Navigation行为不端

时间:2009-12-28 12:37:04

标签: zend-framework

  

可能重复:
  Zend Framework - multiplate navigation blocks

我想通过在一页中使用Zend_Navigation来提供多个链接......

例如

像这样,

 echo $this->navigation()->topmenu(); 
 echo $this->navigation()->menu(); 
 echo $this->navigation()->footermenu();

但我无法做到......

当我使用如下代码时,只需使用此代码

echo $this->navigation()->menu();

我使用以下代码。

 $container = new Zend_Config_Xml(APPLICATION_PATH .'/configs/navigation.xml' 'nav_top');   

 $navigation = new Zend_Navigation($container);
            $view->navigation($navigation);

如何在同一页面中创建不同的链接...

1 个答案:

答案 0 :(得分:0)

已回答here

  

我有同样的问题。我只需在控制器中为我需要的每个菜单创建Zend_Navigation_Container的多个实例,将它们传递给视图,然后通过将对象直接传递给菜单渲染方法来渲染它们。如下:

     

在控制器中:

$this->view->menu1 = new Zend_Navigation_Container();
$this->view->menu2 = new Zend_Navigation_Container();
     

在视图中:

$this->navigation()->menu()->renderMenu($this->menu1);
$this->navigation()->menu()->renderMenu($this->menu2);
     

您甚至可以自定义每个(通过在初始menu()调用后插入方法调用:

$this->navigation()->menu()->setUlClass('my_first_menu')->renderMenu($this->menu1);
$this->navigation()->menu()->setUlClass('my_second_menu')->renderMenu($this->menu2);