Zend_Navigation有两种布局,前端和后端

时间:2011-12-06 16:35:31

标签: layout module zend-navigation

简单的问题。

我有一个从数据库呈现的导航。我想在两个不同的布局中使用它 - 一个用于默认模块(布局是“page.phtml”),另一个用于管理模块(这个是“layout.phtml”)。

我正在设置Zend_Navigation:

    $structure = new Application_Model_DbTable_Pages();     
    $pages_ready = $structure->getPagesNavigation();
    $container = new Zend_Navigation($pages_ready);
    Zend_Registry::set('Zend_Navigation', $container);

并且这样称呼它:

<?php echo $this->navigation()->adminNav(); ?> //custom helper adminNav

问题是 - 它只适用于layout.phtml文件(或任何使用此布局的管理模块视图)。在其他布局中它会抛出

  

致命错误:未捕获异常'Zend_Navigation_Exception'   消息'坏方法调用:未知方法Zend_Navigation :: menu'中   第358行的C:\ wamp \ www \ ehu \ library \ Zend \ Navigation \ Container.php

如何在所有布局中使用它?

1 个答案:

答案 0 :(得分:0)

我找到了一个步行道。

绝对打电话

  

$这 - &GT;导航() - &GT;菜单()

在我的自定义布局文件中我首先初始化视图

  

$ view = new Zend_View();

而不是像我这样打电话给我的菜单

  

echo $ view-&gt; navigation() - &gt; menu();

对我来说就像是一种魅力。