Php KnpMenuBundle-如何为菜单的每个元素设置图标类?
我希望查看代码如下所示:Php KnpMenuBundle-如何为菜单的每个元素设置图标类?,php,symfony,knpmenubundle,knpmenu,Php,Symfony,Knpmenubundle,Knpmenu,我希望查看代码如下所示: <li> <a href="path/to/action"> <i class="icon-class"></i> <span class="title">Title</span> </a> </li> 我用以下代码(knp_menu.html.twig)覆盖了视图: {%block linkElement%}
<li>
<a href="path/to/action">
<i class="icon-class"></i>
<span class="title">Title</span>
</a>
</li>
我用以下代码(knp_menu.html.twig)覆盖了视图:
{%block linkElement%}
{%import\u self作为knp\u菜单%}
{%endblock%}
如何将icon class name的值传递给Builder类中adminMenu()方法中的
元素?最简单的方法是什么?您可以使用添加任何属性
$menu->addChild('Dashboard', array(
'route' => 'admin_dashboard',
))->setAttribute('icon', 'icon-class');
然后
简单地说:
$menu->addChild('Home', ['route' => 'home_page'])
->setAttribute('icon', 'fa fa-home');
我建议使用
extras
而不是attributes
,因为attributes
用于呈现li
元素的属性
$menu->addChild('Dashboard',数组(
“uri”=>“#”,
))->setAttribute('icon','icon class');
及
{{item.attribute('icon')}
可能会呈现为:
鉴于:
$menu->addChild('Dashboard',数组(
“uri”=>“#”,
))->setExtra('icon','icon class');
及
{{item.extra('icon')}
可能只会呈现为:
也可以看到这个答案:。我认为这个答案应该被接受为最终答案。在我的KnpMenuBundle版本中,被接受的一个甚至不起作用。
$menu->addChild('Dashboard', array(
'route' => 'admin_dashboard',
))->setAttribute('icon', 'icon-class');
{{ item.attribute('icon') }}
$menu->addChild('Home', ['route' => 'home_page'])
->setAttribute('icon', 'fa fa-home');