2014-10-01 75 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 
    ), 
)); 

在你嫩枝你必須做出knp_menu_render()打印RAW HTML(看看this other answer of mine):

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

這偉大的工作,感謝這麼許多! – LargeTuna 2014-10-03 19:10:15

+0

但是,我建議這種在數組中使用預定義標籤屬性的方式是一種正確的方法。 http://stackoverflow.com/questions/16152396/how-to-disable-html-escaping-of-labels-in-knpmenubundle/26132111#26132111 – Dung 2015-10-19 15:42:24

相關問題