gpt4 book ai didi

symfony - KnpMenuBundle - 发送选项并在 Twig 中使用它们

转载 作者:行者123 更新时间:2023-12-02 04:50:01 24 4
gpt4 key购买 nike

我用 KnpMenuBundle 在我的导航栏菜单上写了最后几天。我只想在途中给模板一些参数,然后对其使用react。是否可以?我试过这个:

$menu->addChild('Registration', array('route' => 'fos_user_registration_register',
'icon' => array('glyphicon' => 'briefcase')));

然后我想在 Twig 模板中选择这个:

{% if icon['glyphicon'] is defined %}
<span class="glyphicon glyphicon-{{icon['glyphicon']}} "></span>
{% endif %}

我尝试了很多,但没有任何效果。接下来我可以尝试什么?

最佳答案

我是这样做的

菜单类:

$menu->addChild('Home', array(
'route' => 'home',
'extras' => array('icon' => 'home')
));

我的菜单在模板中调用,我要求一个特定的 Twig 模板

{{ knp_menu_render('MyBundle:Menu:primaryNav', {'template': 'MyBundle:Menu:primaryNav.html.twig'}) }}

在 Twig 模板中,我复制/粘贴了 knpmenubundle 模板并编辑了一些 block 。您也可以使用“扩展”和模板的继承内容来做到这一点(可能是一个更好的主意)。

图标的编辑 block 示例:

{% block spanElement %}
<a href="#" class="dropdown-toggle">
{% if item.extras.icon is defined %}<i class="icon-{{ item.extras.icon }}"></i>{% endif %}
<span class="menu-text"> {{ block('label') }}</span>
<b class="arrow icon-angle-down"></b>
</a>
{% endblock %}

您可能需要的是菜单类中的这个“extras”字段:)

关于symfony - KnpMenuBundle - 发送选项并在 Twig 中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19032623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com