问题标签 [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 回答
3026 浏览

symfony - KnpMenuBundle 和建议的教程示例:有什么问题吗?

KNP MenuBundle是一个 Symfony2 包,用于以非常动态的方式处理菜单。该捆绑包附带一个简单的教程示例,在此处提供。在建议的示例中,在 Builder 类中,作者假设必须在$menu对象上调用函数setCurrentUri() 。但是,$menu 是 MenuItem类的一个实例,它没有实现上述功能。

为了使答案自成一体,我报告了此处提供的示例类的代码:

PS:请注意,此示例中缺少一个重要的导入,为了完整起见,我将其报告如下:

0 投票
5 回答
33468 浏览

symfony - 自定义 KnpMenuBundle

如何自定义 KNPMenuBundle?

我不知道如何使用 KnpMenuBundle 添加图像或跨度标签。

我只是想要这个:

在 MenuBuilder 中,这将从:

如何在<li>声明中添加图像?


编辑:简单的方法

在捆绑包中实际上有一种简单的方法可以做到这一点:

1 将模板复制 vendor\KnpMenu\src\Knp\Menu\Resources\views\knp_menu.html.twig 到您的Acme\AcmeBundle\Resources\views\Menu\knp_menu.html.twig并扩展如下:


2 根据您的需要修改模板。例如,如果您决定每次使用时都添加一个 span 标签 $menu->addChild('Your Title');,只需在 之间添加 span 标签<a></a>


3 您现在可以在使用菜单时选择自定义布局:

0 投票
2 回答
13139 浏览

php - Knp Menu Bundle 当前项目 Symfony 2

我有一个关于为 Symfony2 渲染 KnpMenu Bundle 的问题。根据我的阅读,匹配的路线项目应该有一个“当前”类。我已经阅读了 Knp 文档,他们在说一些关于 RouteVoter 的内容,但我无法使其正常工作。有任何想法吗?

生成器代码:

0 投票
1 回答
8039 浏览

symfony - symfony2.1 bundle 版本混淆,用于symfony 和sonata admin/knp menu bundle

我想将 symfony2.1 用于一个新项目。我尝试用 composer 安装 symfony2。但是有多个错误/问题,所以我对粗体样式中的每个问题也有疑问。有时我不知道我这样做是否正确。

我想使用稳定的版本,所以我选择了 2.1.0 版本而不是 dev/master。

结果是这样的:

所以我做了一个php composer.phar update并且依赖项安装没有错误。

但我注意到大多数捆绑包都没有稳定版本。例如教义/普通(2.3.x-dev),这里是完整列表

1a) 这是对的吗?还是有其他解决方案?我的意思是使用稳定且不在开发模式下的捆绑包

第二天,我再次进行了作曲家更新,并注意到一些库已更新:dev-master 分支的所有库在最后一天有新的更改。
1b)所以我应该在开发我的应用程序时定期更新作曲家,合并新的错误修正等?

因为我没有找到另一个解决方案,所以我继续并通过将此行添加"friendsofsymfony/user-bundle": "*"到 composer.json 来安装 FOS UserBundle。我做了整个安装工作​​,而且效果很好。

然后我开始通过添加"sonata-project/admin-bundle": "dev-master"到 composer.json 来安装 Sonata AdminBundle。我选择了 dev-master 版本,因为在http://packagist.org/packages/sonata-project/admin-bundle我发现 2.0.x-dev 版本不适用于 symfony2.1。
此外,AdminBundle 对 knplabs/knp-menu-bundle 具有依赖关系:1.1.*
http://packagist.org/packages/knplabs/knp-menu-bundle上,我看到 v1.1.0 版本存在另一个依赖项knplabs/knp-menu: 1.1.*
然后在http://packagist.org/packages/knplabs/knp-menu我发现了 4 个以 1.1 开头的版本:

  • 1.1.x-dev
  • v1.1.2
  • v1.1.1
  • v1.1.0

2a) 版本号前是否有前导v

2b) 当依赖项为 1.1* 时,将使用这四个版本中的哪个版本?

当我开始加载管理包 deps 时,我看到了结果:

我安装了更多奏鸣曲捆绑包(doctrine-orm-admin-bundle、user-bundle、page-bundle、media-bundle),但出现错误

3)但是当我重复该步骤时,错误消失了。这是正常的吗?

然后我继续配置sonata admin bundle。添加创建 Post 实体和 PostAdmin 并为其配置服务后(顺便说一句:服务配置有点差),注意到我忘记安装 Knp 菜单(错误是non-existent service "knp_menu.factory:)

我继续https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md并查看安装说明的详细信息。屁股已经过时了。从smyfony2.1开始。$loaderautoload.php 中的 不再有任何功能registerNamespaces,因为这不是 UniversalClassLoader 类,而是 composer 类加载器。所以我必须创建一个自己的 UniversalClassLoader 实例。而且路径完全不同,现在有一个父knplabs目录,子目录也发生了变化。

4) 为什么 KnpMenu 安装结构已经过时,为什么 github 上只有一个 master 分支,而http://packagist.org上存在的版本没有?

我是 symfony2 和作曲家的新手,有时真的很难理解这一切。

0 投票
1 回答
2315 浏览

symfony - 如何将 div 添加到 KnpMenu (Symfony2.1)

每当有人将鼠标悬停在菜单按钮上时,我想制作一个下拉框,我使用 KnpMenuBundle 生成菜单。

我想得到的是这样的结构:

如果可能的话,我想从 div 内部渲染一个控制器。

这可以做到吗?

如果我错过了文档中的某些内容,请发布链接,因为我已经搜索了几个小时......

0 投票
1 回答
963 浏览

symfony - 根据 matchig 路由 (KnpMenuBundle) 将当前项目设置为行动

我有这个建设者

如何在任何操作中获取此菜单以设置当前项目?

0 投票
3 回答
7312 浏览

php - 在 symfony 2.1 中使用 knpmenu 包创建面包屑

在 symfony 2.1.x 中使用 knpmenu 包创建面包屑的最佳方法是什么?除了使用 3-rd 方捆绑包。

更新:

嗨,解谜者,很抱歉回答迟了。现在我一直在效仿你的榜样,但我一度陷入困境。在这里,下面的代码抛出一个异常,即

为什么它不接受“item”变量?

0 投票
1 回答
1266 浏览

php - 管理页面列排序

我们将 Sonata 捆绑包用于我们的管理部分。当用户转到管理中的任何部分(例如产品)并尝试按特定列排序时,它不记得下一页中的排序顺序,而且用户只能按一个方向排序。我不知道不知道怎么修?

这是我扩展 Sonata 管理类的代码:

当我们在 twig 文件中添加“sort_by”时。当我们转到 1 到 11 或 9 到 10 时,它只工作 1 到 9 页,然后它不记得下一页的排序顺序。

树枝文件:

0 投票
2 回答
2985 浏览

symfony - 检查是否定义了功能/扩展

在我的 Symfony2 包中,我需要检查是否定义了函数(扩展)。更具体地说,如果安装了 KnpMenuBundle,我会在我的包中使用它,否则我将自己渲染插件。

我试过这个,但这当然不起作用:

是否有测试/函数/过滤器来检查是否定义了函数?如果没有,是否有另一种方法来检查 KnpMenuBundle 是否安装在应用程序中?

0 投票
4 回答
4453 浏览

php - Symfony2 KnpMenuBundle:设置激活一个菜单项,即使它不在该菜单上

我创建了我的菜单生成器,它可以工作。我的一条路线是

但这有一个子路线:

我不想将视图路径放入菜单项,因为没有 ID 它将无法工作。

但是我希望当用户在视图中时数据库路由处于活动状态。

我怎样才能做到这一点?