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

发布于 2024-12-19 17:12:58 字数 784 浏览 1 评论 0原文

简单的问题。

我有一个从数据库呈现的导航。我想在两种不同的布局中使用它 - 一种用于默认模块(布局是“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” C:\wamp\www\ehu\library\Zend\Navigation\Container.php 第 358 行

如何让它在所有布局中工作?

simple question.

I've got a navigation that is being rendered from the database. I want to use it in two different layouts - one for default module (layout is "page.phtml") and one for admin module (this one is "layout.phtml").

I'm setting up Zend_Navigation like this:

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

And calling it like this:

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

Problem is - it only works in the layout.phtml file (or any admin-module view that uses this layout). In the other layout it throws

Fatal error: Uncaught exception 'Zend_Navigation_Exception' with
message 'Bad method call: Unknown method Zend_Navigation::menu' in
C:\wamp\www\ehu\library\Zend\Navigation\Container.php on line 358

How do I get this to work in all layouts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞笑我太脆弱 2024-12-26 17:12:58

我找到了一个解决方法。

已调用

$this->导航()->菜单()

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

$view = new Zend_View();

而不是像这样调用我的菜单

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

对我来说就像一个魅力。

I found a walkaround.

Insted of calling

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

in my custom layout file I first initialize view

$view = new Zend_View();

And than call my menu like this

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

Works like a charm for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文