【问题标题】:Customize knp-menu-template in Symfony2在 Symfony2 中自定义 knp-menu-template
【发布时间】:2014-02-19 10:51:35
【问题描述】:

我在自定义 knp-menu 模板时遇到问题。

我只是简单地扩展了this site 中的 knp_menu.html.twig。

如果我这样尝试,我会收到此错误:

我的 knp_menu.html.twig 看起来像这样:

{% extends 'knp_menu.html.twig' %}

{% block linkElement %}{% import _self as knp_menu %}
   <a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>{{ block('label') }}</a>
{% endblock %}

我尝试像这样渲染模板:

{{ knp_menu_render('MainShowBundle:Builder:mainUserMenu', {'template': 'MainShowBundle:Menu:knp_menu.html.twig'}) }}

我希望有人可以帮助我。

谢谢。 迈克尔

【问题讨论】:

    标签: symfony twig knpmenu


    【解决方案1】:

    您需要先从父模板导入宏,然后才能使用它们。

    {% block linkElement %}
        {% import 'knp_menu.html.twig' as knp_menu %}
        <a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>
            <span>{{ block('label') }}</span>
        </a>
    {% endblock %}
    


    我已经回复了您最初发布问题的地方

    【讨论】:

      【解决方案2】:

      您是否已经尝试过清除缓存?

      php 应用程序/控制台缓存:清除

      【讨论】:

        【解决方案3】:

        我正在从事基于 Symfony 的 CMS 之类的 Sonata 项目。 在管理区域,我为菜单添加了自定义模板,并且在该模板中我做了:

        {% extends 'knp_menu.html.twig' %}
        
        {% block linkElement %}
            {% import 'knp_menu.html.twig' as knp_menu %}
            <a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>
                <span>{{ block('label') }}</span>
            </a>
        {% endblock %}
        
        {% block spanElement %}
        {% import 'knp_menu.html.twig' as knp_menu %}
        <a href="{{ item.uri }}"{ knp_menu.attributes(item.linkAttributes) }{ block('label') }</a>
        {% endblock %}
        

        请注意,您可能需要添加“spanElement”以及“linkElement”。

        完整的模板实现https://github.com/sonata-project/sandbox-build/blob/2.4/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views/knp_menu.html.twig

        【讨论】:

          猜你喜欢
          • 2016-06-15
          • 1970-01-01
          • 2012-08-26
          • 2015-12-20
          • 1970-01-01
          • 1970-01-01
          • 2010-10-27
          • 1970-01-01
          • 2019-05-23
          相关资源
          最近更新 更多