正如标题所示,我正在尝试将引导程序form-control
类附加到每个生成的输入或窗口小部件,因为它们在树枝中被调用。我正在尝试使用表格主题来轻松制作看起来相同的多种形式
我正在尝试它,就像我设法让它与标签一起工作一样。但是因为form_widget
块是由其他块(form_widget_simple
& form_widget_compound
)继承的。
这是给我带来麻烦的代码
{% block form_widget %}
{% spaceless %}
<div class="col-sm-10">
{% set attr = attr|merge({'class': (attr.class|default('') ~ ' form-control ')|trim}) %}
{% if compound %}
{{ block('form_widget_compound') }}
{% else %}
{{ block('form_widget_simple') }}
{% endif %}
</div>
{% endspaceless %}
{% endblock form_widget %}
此外,col-sm-10
div仅在从form_widget_simple
继承的小部件上呈现,而不是在复合小部件上呈现。
我不知道我是否已经清楚地解释了这一点,但我们将非常感谢任何帮助。
{% block form_label %}
{% spaceless %}
{% if label is not sameas(false) %}
{% if not compound %}
{% set label_attr = label_attr|merge({'for': id}) %}
{% endif %}
{% if required %}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required ')|trim}) %}
{% endif %}
{% if label is empty %}
{% set label = name|humanize %}
{% endif %}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' col-sm-2 control-label ')|trim}) %}
<label {% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}" {% endfor %}>{{ label|trans({}, translation_domain) }}</label>
{% endif %}
{% endspaceless %}
{% endblock form_label %}
答案 0 :(得分:2)
您必须编辑form_row
块,它将修改简单和复合窗口小部件。
{% block form_row -%}
{{- form_label(form) -}}
<div class="col-sm-10">
{{- form_widget(form) -}}
{{- form_errors(form) -}}
</div>
{%- endblock form_row %}
编辑:对于控制表类
您可以在块widget_attributes
{% block widget_attributes -%}
{% set class = 'form-control' %}
id="{{ id }}" name="{{ full_name }}"{% if read_only %} readonly="readonly"{% endif %}{% if disabled %} disabled="disabled"{% endif %}{% if required %} required="required"{% endif %}{% if max_length %} maxlength="{{ max_length }}"{% endif %}{% if pattern %} pattern="{{ pattern }}"{% endif %}
{% for attrname, attrvalue in attr %}{% if attrname in ['placeholder', 'title'] %}{{ attrname }}="{{ attrvalue|trans({}, translation_domain) }}" {% elseif attrname in ['class'] %} {% set class = class ~ ' ' ~ attrvalue %} {% else %}{{ attrname }}="{{ attrvalue }}" {% endif %}{% endfor %}
class="{{ class }}"
{%- endblock widget_attributes %}
最后两行非常强烈阅读,希望你能得到图片。