Symfony - Twig - 使用参数更改宏中块的名称

Symfony - Twig - Change name of a block in macro with a parameter

我正在尝试使用参数更改我的 twig 宏中存在的块的名称...

这是我的宏:

{% macro menu_left_item(numero_item, path_menu, title, icon, name_block) %}
    <div class="row row-nav-item item{{ numero_item }} {% block block_active_menu_left %}{% endblock block_active_menu_left %}">
        <a href="{{ path_menu }}">
            <span class="menuLeftIcon"
                  data-toggle="tooltip"
                  data-placement="right"
                  title="{{ title|trans|title }}"
                  data-container="#content-user-account">
                <span class="bgborder"></span>
                <i class="fa fa-{{ icon }} fa-fw"></i>
            </span>
            <span class="menuLeftTitle">
                <span>{{ title|trans|title }}</span>
            </span>
        </a>
    </div>
{% endmacro %}

然后当我调用宏时:

{% if is_granted("ROLE_ADMIN") %}
    {{ forms.menu_left_item(5, path('admin_account_dashboard'), 'user_account.nav-left.dashboard', 'dashboard', 'active_dashboard' ) }}
    {{ forms.menu_left_item(6, path('admin_account_files_management'), 'user_account.nav-left.admin', 'copy', 'active_files' ) }}
    {{ forms.menu_left_item(7, path('account_setting_avatar'), 'user_account.nav-left.settings', 'cogs', 'active_account_setting' ) }}
{% else %}
    {{ forms.menu_left_item(1, path('user_account_dashboard'), 'user_account.nav-left.dashboard', 'dashboard', 'active_dashboard' ) }}
    {{ forms.menu_left_item(2, path('avc_user_media_upload', {'step': 1}), 'user_account.nav-left.upload', 'upload', 'active_upload' ) }}
    {{ forms.menu_left_item(3, path('avc_user_media_in_process'), 'user_account.nav-left.files', 'copy', 'active_files' ) }}
    {{ forms.menu_left_item(4, path('account_setting_avatar'), 'user_account.nav-left.settings', 'cogs', 'active_setting' ) }}
{% endif %}

我需要的是通过我的宏 name_block.

的最后一个参数更改宏 {% block block_active_menu_left %} 中存在的块的名称

有了那个,什么也没发生...

什么是好的句法?

对于我的宏的每次调用,结果可能是这样的:

{% block active_dashboard %}
{% block active_files %}
{% block active_account_setting %}
...

谢谢!

如果您只想插入一个具有动态名称的块,请使用块函数:http://twig.sensiolabs.org/doc/functions/block.html .