我为我的项目创建了一个表单主题,其内容如下:
{% block field_row %}
<div class="row">
{{ form_errors(form) }}
{{ form_label(form) }}
{{ form_widget(form, { 'attr': {'class': 'form-control'} }) }}
</div>
{% endblock field_row %}
我将此主题全局应用到项目中,现在我所有的表单字段都获得了额外的CSS类“ form-control”。
但是,现在我想将此替代限制为仅包含非 选择和复选框字段类型的表单字段。我该怎么做呢?
当我做类似的事情时,我有点生气,因为它比我原本应该的要复杂。也许有更好的方法,但这对我有用。
{% block form_row %}
{% set choice = false %}
{% if not form.vars.compound %}
{% for prefix in form.vars.block_prefixes %}
{% if prefix == 'choice' %}
{% set choice = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if choice %}
<div class="row">
{{ form_label(form) }}
{{ form_errors(form) }}
{{ form_widget(form) }}
</div>
{% else %}
<div class="row">
{{ form_errors(form) }}
{{ form_label(form) }}
{{ form_widget(form, { 'attr': {'class': 'form-control'} }) }}
</div>
{% endif %}
{% endblock form_row %}
我建议使用form_row
而不是form_field
缓解将来向2.3+的过渡,因为form_field
它已从symfony 2.3+中删除,但form_row
可以在2.1中使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句