symfony2和twig:获取表单字段的属性

时间:2014-11-03 13:02:29

标签: forms symfony twig

我正在尝试使用symfony2创建一个包含子字段的表单。

在树枝中,我将表单呈现为

    {{ form_start(form) }}

      {{ form_errors(form) }}
      <div>
      {{ form_label(form) }}
      {{ form_errors(form) }}

      {% for field in form %}
            {{ form_widget(field) }}
      {% endfor %}

      </div>

    {{ form_end(form) }}

但是,我想根据我正在渲染的字段添加一些自定义。

我想要实现的是这样的:

    {{ form_start(form) }}

      {{ form_errors(form) }}
      <div>
      {{ form_label(form) }}
      {{ form_errors(form) }}

      {% for field in form %}
          {% if field.label == "myvalue" %}  <-- this code is not working
            {# do something here #}
            {{ form_widget(field) }}
          {% endif %}
      {% endfor %}

      </div>

    {{ form_end(form) }}

我无法访问twig中每个子字段的标签。
我认为有可能是这样的 {{field.vars.something}} ,但我没有找到任何关于此的明确文件。

有人可以帮忙吗?
谢谢!

修改

我实际上找到了我的问题的答案: 确实只是               {{field.vars.label}}

          {% if field.vars.label == "myvalue" %}
            {# do something here #}
            {{ form_widget(field) }}
          {% endif %}

做了这个伎俩。 但是,我仍然在寻找关于twig中这个“vars”属性的一些好文档,以及可以用它检索的内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在http://symfony.com/doc/current/reference/forms/twig_reference.html#more-about-form-variables

找到更多信息

在该页面上,您将找到常见表单变量列表。您还可以通过实现FormType的buildView方法来创建自定义变量。您可以在http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html#adding-the-extension-business-logic

上阅读示例

希望它会有所帮助