这是我要覆盖的 Twig 字段:github
我有一个已使用此自定义表单主题修改的复选框列表:
{% block choice_widget_expanded %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
<div class="checkbox_row">
{{ form_widget(child) }}
{{ form_label(child) }}
</div>
{% endfor %}
</div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
我尝试使用添加一个类{{ form_row(form.fieldName), {'attr':{'class':'myclass'}}) }}
但这只会给div#formName_fieldName
. 接下来我尝试添加一个自定义块
{% block _formName_fieldName_widget %}
{% spaceless %}
<input type="checkbox" {{ block('widget_attributes') }} value="{{ value }}" class="myclass_{{ value }}" />
{% endspaceless %}
{% endblock choice_widget_expanded %}
请注意,我还包括了我想要的值myclass_1, myclass_2
等。
这个问题是块接收一个数组所以它应该是这样的
{% block _fb_post_facebook_pages_widget %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
{{ form_widget(child) }}
{{ form_label(child) }}
{% endfor %}
</div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
但是,如果我想将类添加到特定的复选框,我需要编写如下内容:
{% block _formName_fieldName_X_widget %}
{% spaceless %}
<input type="checkbox" {{ block('widget_attributes') }} value="{{ value }}" class="myclass_{{ value }}" />
{% endspaceless %}
{% endblock choice_widget_expanded %}
其中 X 将是我为 fieldName 拥有的值......显然这些值可以是任何值,所以我不能只为 1-1000000000000 的所有值创建块......
有什么办法可以动态地做到这一点?