问题标签 [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 投票
2 回答
1661 浏览

php - 使用 Zend_Navigation 时如何将 class="current" 应用于标签?

0 投票
2 回答
1965 浏览

php - PHP RecursiveIteratorIterator:确定每个分支级别的第一项和最后一项

我已经扩展Zend_View_Helper_Navigation_Menu了,它使用 aRecursiveIteratorIterator来遍历菜单树。我希望能够确定的是我是在树中分支级别的第一个还是最后一个项目上。

这是我正在寻找的示例:

  • 导航 1(第一)
    • 导航 1.1(第一个和最后一个)
      • 导航 1.1.1(第一)
      • 导航 1.1.2
      • 导航 1.1.3(最后)
  • 导航 2
    • 导航 2.1(第一)
    • 导航 2.2(最后)
  • 导航 3(最后)
    • 导航 3.1(第一)
    • 导航 3.2(最后)

附加信息

  • PHP 版本 5.2.13

解决方案

foreach ($iterator as $page)循环中,可以使用两个变量来跟踪深度,$depth$prevDepth。然后,一个简单的比较条件可以确定分支级别中的第一项:if ($depth > $prevDepth).

RecursiveCachingIterator使用对象创建一个Zend_Navigation_Container然后使用它来创建RecursiveIteratorIterator添加hasNext()方法。

0 投票
1 回答
1388 浏览

php - 在 XMLTPX 文件特殊字符中使用 Zend Translate Spanish 的 Zend Navigation 编码问题

我一直在尝试使用 Zend Translate 向用户显示翻译后的菜单项。

在我将特殊字符引入翻译文件之前,它工作正常。

我在我的引导程序中实例化 Zend_Translate 对象,并将它作为翻译器传递给 Zend_Navigation:

我使用了几种不同的适配器(数组,tmx)来看看是否有所作为。我最终得到了一个使用 ISO-8859-1 编码的 TMX 文件(否则在引入菜单项“Administrar Applicación”时会引发 XML 解析错误。

一旦我在布局中显示菜单:

它将很好地显示所有菜单项,除了使用特殊字符的菜单项。它只是空白。

现在 - 如果我在 zend 框架类“菜单”中使用 PHP 的 UTF8 编码,我不想这样做:

Zend_View_Helper_Navigation_Menu 中的第 215 行:

然后它工作。菜单项显示正确,一切都很愉快。

问题是,我不想修改库。

在我没有找到的 zend 翻译或 zend 导航中是否有某种编码设置?

请帮忙!

Zend 库版本:1.11

0 投票
1 回答
416 浏览

javascript - Zend 导航与 XML 文件

我有类似上面的代码。我需要为 Accounts 标签后生成的 ul 标签添加一个类。像下面这样的东西不起作用:

我的目的是为导航提供一个大型菜单。要为其添加功能,我需要在生成的菜单代码中包含类。

0 投票
2 回答
563 浏览

ajax - Zend_Navigation、Zend_ACL + 角色没有通过 Ajax 请求正确过滤

我目前一直在我的项目中同时使用 zend_acl 和 Zend_Navigation,它似乎工作正常。我是如何在我的网站中使用大量 ajax 并使用 jqModal 和 jQuery 登录的,这些登录用户无需重新加载当前页面并且还需要重新加载导航。到目前为止,我已经让它工作了,但是返回的导航是所有可见字段为 true 的链接,这是不正确的。例如,当我以用户身份登录时,登录链接不应该是可见的。

任何帮助,将不胜感激。我在下面的 Action、JavaScript 函数和 Json 代码返回。

==================================================== ===== 当前角色 = 管理员

// 控制器动作

public function getnavigationjsonAction() { //$view->navigation($container)->setAcl($this->_acl)->setRole(Zend_Registry::get('role')); // echo $this->navigation()->menu(); $navigation = $this->getView()->navigation()->setAcl($this->_acl)->setRole(Zend_Registry::get('role')); //die(Zend_Registry::get('role')); //死($this->_acl); $this->_helper->json($navigation->toArray()); }

// 脚本函数

function reloadNavigationMenu() { //alert('重新加载导航'); $.ajax( { url : "/default/ajax/getnavigationjson", type : "POST", cache : false, async : false, data : "format=json", success : function(data) { var html='' ; 控制台.log(数据);

$.each(data, function(i) { if(data[i].visible === true) { //console.log(data[i]); html+='

  • '; html+=''+数据[i].label+''; html+='
  • '; } }); html+=''; $('#zend_navigation_container').html(html); } });

    }

    // 从控制器返回 JSON 数据

    [ {“action”:“index”,“active”:false,“class”:null,“controller”:“admin”,“id”:null,“label”:“Admin Section”,“module”:“ admin”,“order”:null,“pages”:[],“params”:[],“privilege”:“index”,“rel”:[],“reset_params”:true,“resource”:“admin :admin", "rev" : [ ], "route" : null, "target" : null, "title" : null, "type" : "Zend_Navigation_Page_Mvc", "visible" : true }, { "action" : "索引”,“活动”:假,“类”:空,“控制器”:“索引”,“id”:空,“标签”:“主页”,“模块”:“默认”,“订单”:空,“页面”:[],“参数”:[], “特权”:null,“rel”:[],“reset_params”:true,“resource”:null,“rev”:[],“route”:null,“target”:null,“title”:null, “类型”:“Zend_Navigation_Page_Mvc”,“可见”:真 },{ “动作”:“索引”,“活动”:假,“类”:空,“控制器”:“索引”,“id”:空, “标签”:“新闻”,“模块”:“新闻”,“订单”:null,“页面”:[],“参数”:[],“特权”:“索引”,“rel”:[],“reset_params”:true,“资源”:“新闻” :index", "rev" : [ ], "route" : null, "target" : null, "title" : null, "type" : "Zend_Navigation_Page_Mvc", "visible" : true }, { "action" : " index”,“active”:false,“class”:null,“controller”:“index”,“id”:null,“label”:“Tutorials”,“module”:“tutorials”,“order”:null ,“页面”:[],“参数”:[],“privilege”:“index”,“rel”:[],“reset_params”:true,“resource”:“tutorials:index”,“rev”:[],“route”:null,“target”:null,“标题”:空,“类型”:“Zend_Navigation_Page_Mvc”,“可见”:真},{“动作”:“关于”,“活动”:假,“类”:空,“控制器”:“索引”,“ id”:null,“label”:“关于”,“module”:“default”,“order”:null,“pages”:[],“params”:[],“privilege”:“about”,“相对”:[],“reset_params”:真,“资源”:“默认:索引”,“rev”:[],“路由”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true },{ “action”:“comments”,“active”:false,“class”:null,“controller”:“index”,“id”:null,“label”:“Comments”,“module”:“default”, “order”:null,“pages”:[],“params”:[],“privilege”:“comments”,“rel”:[],“reset_params”:true,“resource”:“default:index” , "rev" : [ ], "route" : null,“目标”:空,“标题”:空,“类型”:“Zend_Navigation_Page_Mvc”,“可见”:真},{“动作”:“索引”,“活动”:假,“类”:空,“控制器" : "contact", "id" : null, "label" : "Contact", "module" : "default", "order" : null, "pages" : [ ], "params" : [ ], "privilege ":"index","rel":[],"reset_params":true,"resource":"default:contact","rev":[],"route":null,"target":null,"title “:空,”类型“:”Zend_Navigation_Page_Mvc", "visible" : true }, { "action" : "login", "active" : false, "class" : null, "controller" : "auth", "id" : null, "label" : "登录”,“模块”:“默认”,“订单”:null,“页面”:[],“参数”:[],“特权”:“登录”,“rel”:[],“reset_params”: true,“resource”:“default:auth”,“rev”:[],“route”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true }, { "动作" : "注销",“active”:false,“class”:null,“controller”:“auth”,“id”:null,“label”:“注销”,“module”:“default”,“order”:null,“pages” “:[],“参数”:[],“特权”:“注销”,“rel”:[],“reset_params”:true,“资源”:“默认:auth”,“rev”:[], “路线”:空,“目标”:空,“标题”:空,“类型”:“Zend_Navigation_Page_Mvc”,“可见”:真}]注销”,“模块”:“默认”,“订单”:null,“页面”:[],“参数”:[],“特权”:“注销”,“rel”:[],“reset_params”: true,“resource”:“default:auth”,“rev”:[],“route”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true }]注销”,“模块”:“默认”,“订单”:null,“页面”:[],“参数”:[],“特权”:“注销”,“rel”:[],“reset_params”: true,“resource”:“default:auth”,“rev”:[],“route”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true }]rev”:[],“route”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true }]rev”:[],“route”:null,“target”:null,“title”:null,“type”:“Zend_Navigation_Page_Mvc”,“visible”:true }]

    这是我当前以管理员身份登录的时候,登录链接应该被隐藏但它不是。看起来 ACL 没有正确分配给导航。

    0 投票
    1 回答
    868 浏览

    zend-framework - 如何限制 Zend_Navigation 的深度?

    我正在使用 Zend_Navigation 创建一个类别侧边栏。在我的引导程序中,我将放入我所有的页面、产品、类别以及我将来能找到的任何其他内容。我正在使用$navigation->findAllBy('class', 'categories')返回我所有类别的数组来获取我的类别链接。这是正常工作和显示的。

    现在...

    如何限制子类别/页面的深度?因此,我有(例如)2 个类别和子类别,而不是(目前)6 个级别的类别和子类别?

    0 投票
    2 回答
    933 浏览

    zend-framework - Url 问题:zend 导航将路由附加到 url - 如何修改 zend 导航默认呈现

    我重新编辑了问题以显示问题出在哪里。

    您好,我正在使用 Zend Framework 构建一个 cms 应用程序。一切正常,除了 >urls。当我单击指向以下内容的链接时:

    我有效地到达那里,但链接文本附加到 url。如果我现在将鼠标悬停在 >another 链接上,我可以在状态栏中看到:

    'dep/open/id/dep/open/id/023'

    等等。

    我无法编辑这些 url,因为它是 Zend_Navigation 正在呈现它们。

    我该如何修改这个?

    谢谢

    问题是我给 Zend_Navigation 错误的 uri:

    uri 应该是:

    我认为这可能是因为我为“dep”设置了路线

    这可能是原因吗?

    再次感谢

    0 投票
    2 回答
    577 浏览

    zend-framework - 禁用 Zend_Navigation 元素的翻译

    是否有任何简单的方法可以禁用某些 Zend Navigation 元素的翻译?
    例如在这种情况下

    现在,当我使用:

    标签被翻译两次。面包屑、站点地图等也是如此。

    0 投票
    2 回答
    142 浏览

    zend-framework - 如何使用 zend_navigation 填充 zend_feed?

    在我的每个模块的引导文件中,我填充了我的 Zend_Navigation 实例,以便我可以创建 html/xml 站点地图、侧边栏导航、管理导航,现在我想创建一个 rss 提要。

    有没有一种方法可以使用 Zend_Navigation 来填充 Zend_Feed,而不是复制代码并将页面添加到 Zend_Feed?

    0 投票
    3 回答
    7240 浏览

    zend-framework - 如何在 Zend Navigation 中创建“动态”面包屑

    使用 Zend_Navigation,我可以做类似的事情

    但是如果我想要更有用的东西怎么办

    我怎样才能做到这一点?这是个好主意吗?可能会有性能问题?因为它必须查询层次结构?但无论它是什么,我怎样才能做到这一点?