KNPMenuBundleをカスタマイズする方法は?
KnpMenuBundleを使用して画像またはスパンタグを追加する方法がわかりません。
私は単にこれが欲しい:
<ul>
<li>
<img src="{{asset('bundles/mybundle/images/my_image.png')}} /">
<span>My Title</span>
</li>
</ul>
MenuBuilderでは、これは次のように始まります。
$menu->addChild('My Title');
<li>
ステートメントに画像を追加するにはどうすればよいですか?
編集:簡単な方法
バンドル内でこれを行う簡単な方法が実際にあります。
1 テンプレート vendor\KnpMenu\src\Knp\Menu\Resources\views\knp_menu.html.twig
をにコピーし、Acme\AcmeBundle\Resources\views\Menu\knp_menu.html.twig
次のように拡張します。
{% extends 'knp_menu.html.twig' %}
2 必要に応じてテンプレートを変更します。たとえば、を使用するたびにスパンタグを追加する場合は、次の間にスパンタグを $menu->addChild('Your Title');
追加するだけ<a></a>
です。
{% block linkElement %}
<a href="{{ item.uri }}"{{ _self.attributes(item.linkAttributes) }}>
<span>{{ block('label') }}</span>
</a>
{% endblock %}
3 メニューを使用するときに、カスタムレイアウトを選択できるようになりました。
{{ knp_menu_render('main', {'template': 'AcmeBundle:Menu:knp_menu.html.twig'}) }}