我怎样才能重复使用一个块来制作其他块?

How can I reuse a block to make other ones?

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

{%- 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 %}

或者可以那样做(我认为 extend 不能在一个块中使用,但也许有另一种方法可以做到这一点)?

{%- 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') -}}