2014-10-01 2 views
1

Я использую KnpMenuBundle, и мне нужно добавить пользовательский css и тег к одной из ссылок, имеющих маршрут «uri» => '#'. Как бы я это сделал?KnpMenuBundle нужно добавить пользовательские css и html по ссылке

Я хочу ссылку выглядеть следующим образом:

<a href="#" class="js-sub-menu-toggle"> 
     <span class="text">Settlements</span><i class="toggle-icon fa fa-angle-left"></i> 
</a> 

В настоящее время связь делает так:

<a class="asdfasdf" href="#">Settlements</a> 

Вот мой код:

$menu->addChild($name, $array(
      'uri' => '#' 
    )); 

Спасибо!

ответ

2

попробовать что-то вроде этого:

$menu->addChild('<span class="text">Settlements</span><i class="toggle-icon fa fa-angle-left"></i>', array(
    'uri' => '#', 
    'class' => 'js-sub-menu-toggle', 
    'extras' => array(
     'safe_label' => true 
    ), 
)); 

В вашем Twig вы должны сделать knp_menu_render() напечатать сырой HTML (обратите внимание на this other answer of mine):

{{ knp_menu_render('main', {'allow_safe_labels': true}) | raw }} 
+0

Это работало замечательно, спасибо так много! – LargeTuna

+0

Я однако предлагаю, чтобы этот способ использования предопределенного свойства метки в массиве - правильный способ сделать это. http://stackoverflow.com/questions/16152396/how-to-disable-html-escaping-of-labels-in-knpmenubundle/26132111#26132111 – Dung

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