问题标签 [knpmenubundle]

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 回答
104 浏览

symfony - KnpMenuBundle 的 setAttributes 方法不起作用

KnpMenuBundle在我的 Symfony2 应用程序中使用。
我正在尝试使用of设置菜单class属性,如下所示: setAttributesFactoryInterfaceKnpMenuBundle

但这不起作用!带有或不带有该setAttribute行的结果标记是:

虽然我希望有<ul class='sf-menu'>

问题是什么?

0 投票
1 回答
755 浏览

php - 删除 KnpMenu 上的 RouteVoter

外联网的每个捆绑包都是一个独立的应用程序。在我的菜单中列出了每个应用程序,我喜欢根据实际路由前缀标记当前应用程序。

首先是base.html.twig中的twig代码:

构建器功能:

如果找到当前菜单,我的 BundleVoter 类工作正常并返回 true。但在 HTML 中,当前元素从不包含“活动”类。

我在 KnpMenuBundle 中阅读了更多内容,并在 Knp\Menu\Matcher 类中添加了一些调试代码:

并得到了这个输出:

神秘的 RouteVoter 从何而来?它会覆盖我对当前元素的 BundleVoter 选择吗?以及如何停用/覆盖它?

0 投票
0 回答
101 浏览

php - KnpMenuBundle - 所有子页面上的当前类

我通过 KnpMenuBundle 创建了一个菜单

当我在带有 url mypage.url/object 的页面上时,一切都很好 - 菜单中的li元素有一个当前类。

但是当我继续使用另一个 url,例如 mypage.url/object/new 时,菜单中的li元素,带有 uri '/object' 没有当前类。

如何使用 uri: '/object' 执行该元素,将有一个当前类并将处于活动状态,即使当前页面(路由)是“在 uri 下” /object。(例如 mypage.url/object/new、mypager.url/object/12/delete 等)?

0 投票
0 回答
646 浏览

php - PHP Symfony2 knp 菜单包:使用 foreach 生成子项引发非法偏移类型异常

我们是一个使用 Symfony2 开发的旅游网站。我目前卡在菜单上。当前的设计是这样组织的多级菜单:continents-> countries -> regions.按大洲和按国家/地区分组的国家子菜单。我正在使用 Knp 菜单包。我想使用 foreach 循环动态生成子菜单,因为我不想手动生成每个菜单项。为此,我需要使用一个字符串变量作为数组键,但这不起作用......实体 Continent 和 Country 有一个 toString 方法,该方法清楚地返回getSlug().,使用$menu['south-america']有效但不$menu[$continent] 使用 foreach 循环遍历 Continent 对象 slug。

这是错误消息:

渲染模板时抛出异常

这是我的菜单生成器中的代码:

谢谢你的建议。

找到的解决方案:

我在发布这个问题时可能有点太快了,因为解决方案在发布后几分钟(经过数小时的测试)跳到我这里似乎 $country 和 $continent 对象不会像我预期的那样自动转换为字符串当用作数组键时。使用 $menu[$continent->getSlug()] 就可以了。我的错。

0 投票
1 回答
306 浏览

symfony - Symfony2.6,SonataUserBundle,试图在类“Knp\Menu\MenuItem”上调用方法“setCurrentUri”。

我目前正在使用 SonataUserBundle,当我尝试加载 /profile/ page 时,出现以下错误:

我在几个帖子中看到很多人通过要求 knplabs/knp-menu-bundle:1.1.* 解决了这个错误

但是当我尝试

我收到以下错误:

这是我的 composer.json

我真的不知道该怎么做才能让 /profile/ 页面正常工作......有人知道如何解决这个问题吗?

谢谢

0 投票
0 回答
802 浏览

php - KnpMenu:向 MenuItem 类添加属性

我通过 KnpMenuBundle 将 KnpMenu 与 Symfony2.3 一起使用。

我想MenuItem通过添加属性来自定义类,这是最简单的方法。

目的是能够将任何MenuItem一个链接到我的应用程序的实体之一,然后再检索它。

例如,我想这样做:

简单但丑陋的方法是编辑Knp\Menu\MenuItem.php并添加:

我知道这不是正确的方法,所以我尝试覆盖Knp\Menu\MenuItem然后Knp\Menu\MenuFactory但这还不够......

我觉得我必须覆盖更多的东西,所以我来咨询一下。捆绑包非常复杂,我觉得这个功能(将类属性添加到 MenuItem)已经由捆绑包管理,尽管我不明白如何。

任何想法?

0 投票
2 回答
2083 浏览

fosuserbundle - knp 菜单包 symfony

我一直在使用 fos 用户包,其中每个用户都被分配到一个组,并且每个组都根据 fos 用户包提供了一个特定的角色,一切正常。

现在要制作菜单系统,我正在尝试使用 Knp 菜单包。现在要制作菜单结构,我想将每个组的角色传递给菜单系统(动态)。这样,改变特定组的角色可以让菜单系统动态改变.

我已经按照文档配置了菜单包

knp 菜单包文档

在这里,我在命名空间 Admin\Bundle\HomeBundle\Menu 中添加了一个名为 menu builder 的类;现在我需要调用当前登录用户的组角色并将它们动态添加到菜单中,我还需要将其中一些角色添加到同一主菜单中的子菜单中。如果我走错了路(如果有的话),请改进我,并处理我如何使用 Knp 菜单包作为服务动态地将组的角色包含到菜单中。

提前致谢。

0 投票
1 回答
1063 浏览

symfony - Symfony2,奏鸣曲:从奏鸣曲包生成的菜单中删除一个动作

我需要清理管理端,使其适合我的客户的需要。

我正在使用 Sonata 的 NewsBundle,实际上我不需要使用评论,所以我想从管理端删除它。至少从菜单上看。有没有办法在配置中禁用它?我在文档中没有找到任何关于此的提示。

这里是我不想再看到它的特定区域:

奏鸣曲菜单

奏鸣曲菜单

顺便说一下,菜单可能是由 KnpMenu 生成的

0 投票
1 回答
4350 浏览

php - Symfony 2 KNP 菜单:添加 CSS 类到链接

我正在为 Symfony2 使用 KnpMenuBundle,但我找不到从菜单生成的链接中添加 css 类的方法。

我试图将类设置为子属性,但这不会提供给链接,而是提供给可能的子菜单(子菜单)。

这将导致以下 HTML

但我需要这样:

我怎样才能做到这一点?

0 投票
1 回答
464 浏览

php - 带有 HTML 特殊字符的 KNP 菜单包

我在 Symfony2 项目中使用 KNP Menu Bundle 并将我的菜单创建为服务。

我的问题是路线标签引号和其他特殊字符无法正确显示。

举个例子:

Test Text & Stuff将显示为Test Text &amp; Stuff,我无法弄清楚如何处理它。

我正在创建如下路线:

我试图用这个命令来摆脱它:

  1. html_entity_decode()
  2. htmlspecialchars_decode()
  3. htmlspecialchars()
  4. htmlentities()

但他们都没有工作。如果浏览器能够正确翻译它们,这没什么大不了的,但是浏览器没有这样做:

我的文字前后有很多空白,我不知道它是从哪里来的。我修剪了 twig$sellername并将修剪命令添加到knp_menu.html.twig.

有什么建议我可以如何处理这种情况?

编辑:

我现在发现的是,如果我手动从文本中删除空格,则文本将正确显示。我试图用 javascript 修剪空格,但我现在还没有成功。

编辑:

这是knp_menu.html.twig模板