Symfony 如何更改;“当前”;类别改为;主动的;在KNPMenuBundle
我想知道,什么是将“当前”类更改为“活动”的最佳方法,以便引导程序能够正确地使用它 我曾想过复制和覆盖knp_menu_html.twig,但我认为这不是最好的方法Symfony 如何更改;“当前”;类别改为;主动的;在KNPMenuBundle,symfony,knpmenubundle,Symfony,Knpmenubundle,我想知道,什么是将“当前”类更改为“活动”的最佳方法,以便引导程序能够正确地使用它 我曾想过复制和覆盖knp_menu_html.twig,但我认为这不是最好的方法 不管怎样,还是做得更好 你可以这样传递: {{ knp_menu_render('AcmeDemoBundle:Builder:mainMenu', {'currentClass': 'active'}) }} 要在所有应用程序中应用默认选项,可以如下设置knp\u menu.renderer.twig.options参数: //
不管怎样,还是做得更好 你可以这样传递:
{{ knp_menu_render('AcmeDemoBundle:Builder:mainMenu', {'currentClass': 'active'}) }}
要在所有应用程序中应用默认选项,可以如下设置
knp\u menu.renderer.twig.options
参数:
// app/config/services.yml
parameters:
knp_menu.renderer.twig.options:
currentClass: active
Knp\Menu\Renderer\twigrender
的默认选项为:
$this->defaultOptions = array_merge(array(
'depth' => null,
'matchingDepth' => null,
'currentAsLink' => true,
'currentClass' => 'current',
'ancestorClass' => 'current_ancestor',
'firstClass' => 'first',
'lastClass' => 'last',
'template' => $template,
'compressed' => false,
'allow_safe_labels' => false,
'clear_matcher' => true,
'leaf_class' => null,
'branch_class' => null,
), $defaultOptions);
可以在MenuBuilder类中设置这些选项吗?不能直接设置。事件如果在菜单生成器中插入“knp_menu.renderer.twig”服务(上面的“knp\menu\renderer\twigrender”类),则默认选项没有变体。通过使用参数“knp_menu.renderer.twig.class”覆盖renderer类,您最终可以自己实现一些变体