c33s / knp-menu-extra-bundle

Symfony Knp Menu Extra Bundle

这个包的官方仓库似乎已经不存在,因此该包已被冻结。

安装: 417

依赖者: 0

建议者: 0

安全: 0

类型:symfony-bundle

0.1.1 2020-01-09 11:30 UTC

README

更多工作进展

目前仅使用菜单模板

添加到 config.yaml (knp_menu.yaml)

knp_menu:
#    # use "twig: false" to disable the Twig extension and the TwigRenderer
    twig:
        template: '@C33sKnpExtraMenu/menu.html.twig'

mopa_bootstrap:
    menu:
        template: '@C33sKnpMenuExtra/menu.html.twig'

添加到 bundles.php

C33s\Bundle\KnpMenuExtraBundle\C33sKnpMenuExtraBundle::class => ['all' => true],

如何自定义 KNPMenuBundle?

我不知道如何使用 KnpMenuBundle 添加图片或 span 标签。

我只想要这个

<ul>
    <li>
         <img src="{{asset('bundles/mybundle/images/my_image.png')}} /">
         <span>My Title</span>        
     </li>
</ul>

在 MenuBuilder 中,这将从以下开始

$menu->addChild('My Title');

我该如何在

语句中添加图片?编辑:简单的方法

实际上,在包内完成这个任务有一个简单的方法

  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' %}
  1. 根据您的需求修改模板。例如,如果您决定每次使用 $menu->addChild('您的标题'); 时添加 span 标签,只需在
{% block linkElement %}
    <a href="{{ item.uri }}"{{ _self.attributes(item.linkAttributes) }}>
        <span>{{ block('label') }}</span>
    </a>
{% endblock %}
  1. 现在您可以在使用菜单时选择自定义布局
{{ knp_menu_render('main', {'template': 'AcmeBundle:Menu:knp_menu.html.twig'}) }}