如何在渲染表单时删除奇数属性

时间:2016-05-26 12:43:53

标签: widget twig symfony

我在bootstrap_3_layout.html.twig中重写了一些小部件,并且我不希望表单字段在呈现时具有一些属性。

我发现了一些小部件的序列 button_widgetbutton_rowform_widgetwidget_attributes

我做了一点改变

{% block widget_attributes %}
    {% spaceless %}
    {# bla-bla-bla #}
        {% for attrname, attrvalue in attr %}
            {% if attrname in ['placeholder', 'title'] %}
                {{ attrname }}="{{ attrvalue|trans({}, translation_domain) }}"
            {% elseif attrname not in ['first','last','data-help'] %}
                {{ attrname }}="{{ attrvalue }}"
            {% endif %}
        {% endfor %}
    {% endspaceless %}
{% endblock widget_attributes %}

但它对按钮不起作用。

2 个答案:

答案 0 :(得分:1)

我不确定你的目标是什么,但你可以截取一个树枝循环的奇数索引如下:

{% for attrname, attrvalue in attr %}
      {% if loop.index is odd %}
          odd 
      {% else %}
          even
      {% endif %}
{% endfor %}

有关loop variableodd test function的更多信息。

希望这个帮助

答案 1 :(得分:0)

这很奇怪,但twig_bridge中的表单布局有一些小部件可以处理属性。

<德尔>  1.输入`widget_attributes`  2.对于按钮`button_attributes`  3.对于另一个元素`widget_container_attributes`

对于每个小部件,在twig-bridge中有下一个块:

  1. {name_of_widget}_widget - 呈现元素的主要块
  2. {name_of_widget}_label
  3. {name_of_widget}_row
  4. 对于属性,有

    1. widget_attributes
    2. widget_container_attributes
    3. button_attributes
    4. attributes
    5. 我刚使用了不正确的:) 感谢您的耐心等待。