问题标签 [zend-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3326 浏览

zend-framework - Zend:使用 Zend_Config_Xml 和 Zend_Navigation 创建面包屑导航

我遇到了一个问题,Zend_NavigationZend_Config_Xml.

这是它失败的方法( Bootstrap.php ):

正在解析的 XML 文件完全是示例 37.11 @ http://framework.zend.com/manual/en/zend.navigation.containers.html的副本

抛出的错误:

  • 致命错误:在 /usr/share/php/Zend/Navigation/Page.php:223 中未捕获的异常“Zend_Navigation_Exception”带有消息“无效参数:无法确定要实例化的类”堆栈跟踪:#0 /usr/share/php/ Zend/Navigation/Container.php(117): Zend_Navigation_Page::factory(Array) #1 /usr/share/php/Zend/Navigation/Container.php(164): Zend_Navigation_Container->addPage(Array) #2 /usr/ share/php/Zend/Navigation.php(46): Zend_Navigation_Container->addPages(Object(Zend_Config_Xml)) #3 /www/padilla/application/Bootstrap.php(50): Zend_Navigation->__construct(Object(Zend_Config_Xml)) # 4 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(662): Bootstrap->_initNavigation() #5 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(615): Zend_Application_Bootstrap_BootstrapAbstract ->_executeResource('导航') #6 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(579): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL) #7 /usr/share/php/Zend/Application.php(347): Zend_Application_B 在 /usr/share/php/Zend/Navigation/Page.php 的第 223 行

也许我遗漏了一些东西,或者需要更改/自定义 xml 结构?

0 投票
2 回答
2259 浏览

zend-framework - Zend_Navigation:无法使用多个容器渲染面包屑

可能重复:
Zend Framework - 多板导航块

我试图让面包屑在我的应用程序中呈现(它们不会出现在任何地方,甚至没有出现在主页上,它有一个相应的 Zend Page Uri 对象),它有多个导航区域 - 主要和实用程序。对于菜单生成,我有一个 MenuController,我使用以下方法从布局中渲染它:

utilityIdmainMenuId属性是从数据库中获取的数字。

Menu 控制器的 render 方法只是构建一个数组并创建一个 Zend Navigation 对象,然后调用 setContainer 并将其设置为该容器。这是伪代码,因为它相当长:

所以这个渲染方法在实用程序和导航的布局中被调用了两次。

编辑: 我认为问题是我需要指定 $container 所以我的代码是

但是,因为我使用$this->action('render', 'menu' )$container变量是在那里设置的并且没有返回,有没有办法可以通过其他方式指定容器?可能使用$this->layout()->nav和指向容器的属性。

看起来是同一个问题,有人建议使用 设置/获取它们Zend_Registry,也许我会尝试一下。

0 投票
2 回答
978 浏览

php - 数据库驱动导航中的登录/注销链接?

我有一个数据库驱动的导航,主要由两个表组成:menus和一个menu_items,这对于纯“静态”链接很有效,但现在我需要一个动态链接(登录/注销)。

我的menu_items表格只是由管理员手动添加的页面链接组成。所以现在我需要调整表格和模型,以便它可以处理“动态”链接。

这是 menu_items 表的架构:

菜单 id 对应另一个表,例如 1 是主导航,2 可以是实用导航。位置是指相对于显示菜单项的每个菜单的顺序。链接只是一个字段,例如'/user/login'。

我正在遍历我的每个菜单并创建导航容器并为此使用 Zend Navigation。

这是我用于登录区域的逻辑,我需要将其移至动态导航中:

看起来我需要为每个菜单项的访问级别添加一个新列,然后更新我的菜单模型以说明用户是否登录并查询菜单项的新访问列值,或者类似的东西线。有人有什么建议吗?

0 投票
2 回答
9370 浏览

php - Zend_Navigation 的自定义渲染

我将导航 XML 文件与我的 Zend Framework MVC 应用程序结合使用。

顶级菜单呈现在我的布局顶部。生成它的代码如下所示:

这将自动呈现我在顶部菜单中设置样式的链接的无序列表。现在,我想利用所有内置 Zend_Navigation 优点(MVC 和 ACL 集成)但使用自定义标记来呈现子菜单(以呈现活动容器树)。我会通过插入这个来做到这一点:

事实上,我有一组非常具体的标记,我需要用它来渲染它。它是如此的不同,我不认为我可以设计一个无序列表来适应我想要的演示文稿。

有没有一种简单的方法(或者如果需要的话很复杂;)来定制一个子菜单?

0 投票
1 回答
2429 浏览

php - Zend:如何全局设置当前导航项?

配置:

引导程序:

库/WD/控制器/插件/Nav.php:

网页输出:

在注册表中未找到带有消息“按名称“FindByUri”的插件的未捕获异常“Zend_Loader_PluginLoader_Exception”

我几乎知道我做错了什么,因为我引用的是 Zend View Helper Navigation 而不是直接的 Navigation ( findByUri 方法直接存在于 Zend_Navigation 中),但我不确定如何正确引用它。

0 投票
2 回答
833 浏览

zend-framework - Zend_Navigation 用数组覆盖?

我目前通过 XML 文件使用 zend_navigation。

但是,我需要在控制器中覆盖以前的面包屑作为其动态父级。

这可能吗?在我看来,zend_navigation 是相当静态的,而且 zend 文档一直在超时。

谢谢


我放了:

在我的控制器中,但该页面没有显示crumbbar。

有任何想法吗?$this->navigation() 抛出了一个

另请注意,我的 crumbBar 位于我的布局中,而不是单独的视图中。

0 投票
2 回答
3539 浏览

php - Zend_Translate - Zend_Navigation 和 Routing 组合问题!

我在 Zend_Navigation、Zend_Translate 和所需路由的组合方面遇到了一些困难。

我的站点导航是通过基于 XML 文件的 Zend_Navigation 完成的。我现在已经基于 Zend_Translate 向站点添加了翻译,并添加了以下对引导程序的路由更改:

然后,我使用 preDispatc 方法创建了一个 View_Helper:

现在,当我转到:“site/ en /module/controller/action”时,它工作正常。

当我转到:“site/ da /module/controller/action”时,翻译工作正常,但我来自 Zend_Navigation 的链接指向默认的“en”语言链接“site/ en /module2/controller2/”

我无法弄清楚您在 /da/ 的语言。任何帮助都将不胜感激。

亲切的问候,

莫腾

0 投票
3 回答
8651 浏览

php - 如何扩展 Zend Navigation Menu View Helper?

我需要更改Zend_View_Helper_Navigation_Menu. 我找到了需要修改的两个函数,并且我知道如何进行所需的更改。我不知道如何让 Navigation 对象使用我的视图助手而不是 Zend 。

代表我的类扩展的代码片段:


澄清的编辑

我想更改<li>元素的类并删除EOL和缩进。菜单视图脚本没有选项可以做到这一点,这就是我必须扩展它的原因。

在我的 Bootstrap 中初始化导航对象:

在我的布局中渲染菜单:


解决方案

我通过如下重命名它来工作,但我不清楚为什么我不能重载/覆盖_Menu类和menu()函数。

  1. 将类名更改为My_View_Helper_Navigation_MyMenu
  2. myMenu函数添加到类 ( return parent::menu($container);)
  3. 调用echo $this->navigation()->myMenu();布局

类线框:

0 投票
1 回答
1003 浏览

zend-framework - Zend 框架导航

我有这个用于创建容器的 xml 文件,如果我想创建一个数据库来保存这些项目并从数据库创建容器我应该怎么做?

和引导程序中的代码

0 投票
2 回答
712 浏览

zend-framework - 用户使用 Zend_Navigation 登录后如何将登录交换为注销?

我正在使用 XML 配置文件来使用 Zend_Navigation 填充我的导航。

我在导航中有 Login 和 Logout,但显然我应该只显示 1 个有意义的操作。

我相信我可以执行类似 $navigation->removePage() 的操作,但是...在之前在 Bootstrap.php 中创建 $navigation 变量之后,如何在 Controller 中获取它?