我正在尝试使用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”属性的一些好文档,以及可以用它检索的内容。
谢谢!
答案 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
上阅读示例希望它会有所帮助