knpMenuBundle symfony 4

knpMenuBundle symfony 4

我尝试在 symfony 4 中使用 knpMenuBundle

我渲染 {{ knp_menu_render('App:MenuBuilder:menuTags') }}

class 在 src/ App\Menu\MenuBuilder

得到

An exception has been thrown during the rendering of a template ("Bundle "App" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your App\Kernel.php file?").

其次,我尝试将其用作服务 -

{{ knp_menu_render('App\Menu\Builder:menuTags') }}

不工作...

我可以将此自动注册服务注入其他控制器。

我读了 packagist -

KnpMenuBundle v2.2.1
require:
symfony/framework-bundle: ~2.7|~3.0 | ^4.0

所以它应该可以工作 - 在官方 symfony 文档中任何关于 symfony 4 的信息

https://symfony.com/doc/master/bundles/KnpMenuBundle/menu_service.html

我认为删除 APPbundle 是一种愚蠢的方式...

知道如何使用 MenuBuilder 吗?

您不能使用此“{{knp_menu_render ('App \ Menu \ Builder: menuTags')}}”进行服务。使用您创建的服务的别名。

对于 Symfony 4,您需要将菜单作为一项服务来使用。

试试吧。

{{ knp_menu_render ('main') }}