Twig 如何重复使用一个块来制作其他块?

Twig 如何重复使用一个块来制作其他块?,twig,Twig,这就是我想要的(为其他人重复使用块,以避免编写太多重复代码): 这就是我现在拥有的。。。(重复的代码太多了,太难看了,我想要一个干净的代码,所以我想要一个可重用的块): {%-block_a-%} {%-if单位-%} {{-block('form_widget_simple')-} {{unit}默认值('kg')} {%-else-%} {{-block('form_widget_simple')-} {%-endif-%} {%-enblock-%} {%-block_b-%} {%-if

这就是我想要的(为其他人重复使用块,以避免编写太多重复代码):

这就是我现在拥有的。。。(重复的代码太多了,太难看了,我想要一个干净的代码,所以我想要一个可重用的块):

{%-block_a-%}
{%-if单位-%}
{{-block('form_widget_simple')-}
{{unit}默认值('kg')}
{%-else-%}
{{-block('form_widget_simple')-}
{%-endif-%}
{%-enblock-%}
{%-block_b-%}
{%-if单位-%}
{{-block('form_widget_simple')-}
{{unit}默认值('kg')}
{%-else-%}
{{-block('form_widget_simple')-}
{%-endif-%}
{%-enblock-%}
{%-block_c-%}
{%-if单位-%}
{{-block('form_widget_simple')-}
{{unit}默认值('kg')}
{%-else-%}
{{-block('form_widget_simple')-}
{%-endif-%}
{%-enblock-%}
它做到了这一点(它允许重用已定义的块):

看看或
{%- block distance_widget (block_a, block_b, block_c) -%}
    {%- if unit -%}
        <div class="input-group">
            {{- block('form_widget_simple') -}}
            <div class="input-group-append">
                <span class="input-group-text">{{ unit|default('kg') }}</span>
            </div>
        </div>
    {%- else -%}
        {{- block('form_widget_simple') -}}
    {%- endif -%}
{%- endblock distance_widget %}
{%- block_a -%}
    {%- extends block distance_widget -%}
{%- enblock -%}

{%- block_b -%}
    {%- extends block distance_widget -%}
{%- enblock -%}

{%- block_c -%}
    {%- extends block distance_widget -%}
{%- enblock -%}
{%- block_a -%}
    {%- if unit -%}
        <div class="input-group">
            {{- block('form_widget_simple') -}}
            <div class="input-group-append">
                <span class="input-group-text">{{ unit|default('kg') }}</span>
            </div>
        </div>
    {%- else -%}
        {{- block('form_widget_simple') -}}
    {%- endif -%}
{%- enblock -%}

{%- block_b -%}
    {%- if unit -%}
        <div class="input-group">
            {{- block('form_widget_simple') -}}
            <div class="input-group-append">
                <span class="input-group-text">{{ unit|default('kg') }}</span>
            </div>
        </div>
    {%- else -%}
        {{- block('form_widget_simple') -}}
    {%- endif -%}
{%- enblock -%}

{%- block_c -%}
    {%- if unit -%}
        <div class="input-group">
            {{- block('form_widget_simple') -}}
            <div class="input-group-append">
                <span class="input-group-text">{{ unit|default('kg') }}</span>
            </div>
        </div>
    {%- else -%}
        {{- block('form_widget_simple') -}}
    {%- endif -%}
{%- enblock -%}
{{- block('distance_widget') -}}