2016-06-20 3 views
0

Из шаблона меню расслоении по КНП по умолчанию:опции Override в пачке меню КНП для Symfony2

{%- elseif matcher.isAncestor(item, options.matchingDepth) %} 
    {%- set classes = classes|merge([options.ancestorClass]) %} 

options.ancestorClass равно 'current_ancestor. Есть ли способ переопределить это? Я не хочу копировать код элемента кода wohle, который охватывает 50 строк кода, из которых мне нужно только изменить одно значение.

Лучших Christian

ответ

0

Чтобы применить параметры по умолчанию во всех приложениях, вы можете установить параметр knp_menu.renderer.twig.options так:

// app/config/services.yml 
parameters: 
    knp_menu.renderer.twig.options: 
     currentClass: active 

Параметров по умолчанию по Knp\Menu\Renderer\TwigRenderer являются:

$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); 

Попробуйте

{{ knp_menu_render('AcmeDemoBundle:Builder:mainMenu', {'ancestorClass': 'your-class'}) }} 

От this link

+0

Спасибо, я выбрал второй подход. –

Смежные вопросы