Symfony 我想在基本包中创建一个导航列表。如何允许其他捆绑包添加到该列表中?

Symfony 我想在基本包中创建一个导航列表。如何允许其他捆绑包添加到该列表中?,symfony,bundle,Symfony,Bundle,我想在我的一个捆绑包(“基本”捆绑包)中创建一个导航列表,其中包括两个选项。如何允许其他捆绑包添加到该列表中?我想问一个更详细的问题,但还是在这里 首先,检查已经提供菜单功能的捆绑包。差不多。看起来不错?好的,用它 没有适合你口味的?那你自己滚吧。我会这样说: 在基本捆绑包中创建一个NavListManager类和一个AbstractNavList类,该类将由向导航列表添加选项的每个其他捆绑包扩展 每个捆绑包应该提供一个NavList类扩展AbstractNavList。这些类应该提供导航列表选

我想在我的一个捆绑包(“基本”捆绑包)中创建一个导航列表,其中包括两个选项。如何允许其他捆绑包添加到该列表中?

我想问一个更详细的问题,但还是在这里

首先,检查已经提供菜单功能的捆绑包。差不多。看起来不错?好的,用它

没有适合你口味的?那你自己滚吧。我会这样说:

  • 在基本捆绑包中创建一个
    NavListManager
    类和一个
    AbstractNavList
    类,该类将由向导航列表添加选项的每个其他捆绑包扩展

  • 每个捆绑包应该提供一个
    NavList
    类扩展
    AbstractNavList
    。这些类应该提供导航列表选项

  • 在基本捆绑包中,编辑
    DependencyInjection\Extension::load()
    方法,使用
    $container->getParameter('kernel.bundles')
    在每个捆绑包中查找
    NavList
    类。在
    NavListManager
    中包含所有收集的类

  • 现在在模板中调用类似于
    $navman->render()
    的函数来生成导航列表