我怎样才能重复使用一个块来制作其他块?
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') -}}
这就是我想要的(为其他人重复使用一个块,以免代码重复太多):
{%- 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') -}}