如果启用了捆绑包,添加菜单链接的好方法是什么?


What is a good methodology for adding menu links if a bundle is enabled

我正在Symfony2(树枝模板)中开发一个应用程序,它将涉及多个bundle,其中一些可能会被替换掉。每个包将在该URL上提供特定的URL和功能。

根据所启用的包来构建一个充满链接的菜单的好做法是什么?

我的第一个想法是使用树枝嵌入一个控制器,将检查内核。bundle参数,并根据该列表构建一个菜单。但我也可能不得不有子导航链接打开,如果父链接被选中,我不确定如何实现这一点。

对于一般的菜单,您应该查看一下KnpMenuBundle。

关于你的bundle有问题:我建议使用带标签的服务。

每个bundle都可以包含一个被标记的子菜单服务。在您的主菜单实现中,您可以有一个菜单注册表,它收集所有这些标记的服务。