第二个参数form_widget
是一个数组的变量。最常见的变量attr
,这是一个数组的HTML属性应用于HTML小部件。在某些情况下,某些类型也有其他模板有关的选项,可以通过。这些是type-by-type基础上讨论。的属性
不应用递归子字段如果你呈现许多领域(如。form_widget(形式)
)。
看到“函数和变量引用树枝模板形式了解更多的变量
论点。
第二个参数form_widget
是一个数组的变量。最常见的变量attr
,这是一个数组的HTML属性应用于HTML小部件。在某些情况下,某些类型也有其他模板有关的选项,可以通过。这些是type-by-type基础上讨论。的属性
不应用递归子字段如果你呈现许多领域(如。form_widget(形式)
)。
看到“函数和变量引用树枝模板形式了解更多的变量
论点。
第二个参数form_row
是一个数组的变量。Symfony中提供的模板只允许覆盖在上面的示例中所ob娱乐下载示的标签。
看到“函数和变量引用树枝模板形式“了解变量
论点。
如果表单包含至少一个文件上传,这将使所需的enctype = " multipart /格式”
表单属性。它总是一个好主意这个包含在您的表单标签:
1
<形式行动=”{{路径(form_submit)}}”方法=“职位”{{form_enctype(形式)}}>
几乎在每一个树枝上面函数,最后一个参数是一个数组时使用的“变量”的呈现形式的一部分。例如,下面会呈现“部件”字段,并修改其属性包含一个特殊的类:
1 2
{#呈现一个小部件,但添加一个“foo”类#}{{form_widget (form.name {attr”:{“类”:“foo”}})}}
这些变量的目的——他们所做的事情和他们从何而来——可能并不清楚,但是他们非常强大。当你渲染任何形式的一部分,呈现它的块利用大量的变量。生活在默认情况下,这些块form_div_layout.html.twig。
看一下了form_label
作为一个例子:
1 2 3 4 5 6 7 8 9 10 11 12
{%块了form_label %}{%如果不复合%}{%集label_attr = label_attr |合并({“为”:id}) %}{%endif%}{%如果需要%}{%集label_attr = label_attr |合并({‘类’:(label_attr.class |默认的(")~ |“要求”)修剪})%}{%endif%}{%如果标签是空%}{%集标签名称= |人性化%}{%endif%}<标签{%为attrname, attrvalue label_attr %}{{attrname}}=”{{attrvalue}}”{%endfor%}>{{标签|反式({},translation_domain)}}< /标签>{%endblock了form_label %}
这个块利用几个变量:复合
,label_attr
,要求
,标签
,的名字
和translation_domain
。这些变量是可用的形式渲染系统。但更重要的是,这些变量可以覆盖当调用了form_label
(因为在这个例子中,你呈现标签)。
具体的变量可用来覆盖取决于表单的哪一部分你渲染(如标签与小部件),哪些领域你渲染(例如选择
小部件有一个额外的扩大
选项)。如果你看得到满意form_div_layout.html.twig,你总是可以看到你有什么选项可用。
提示
在幕后,这些变量可以使用FormView
你的表单,表单组件调用的对象buildView
和finishView
在每个表单树的“节点”。看看“视图”变量一个特定的领域,找到的源代码表单字段(及其母公司字段),看看上面的两个函数。
请注意
如果你立刻呈现一个完整的形式(或一个完整的嵌入式形式),变量
争论只会应用于形式本身,而不是它的孩子。换句话说,以下将不通过“foo”类属性表单中的所有孩子的字段:
1 2
{# * *不* *工作——变量不是递归#}{{form_widget(形式,{attr”:{“类”:“foo”}})}}
的名字
领域,是通过使用一个公共访问变量var
财产的FormView对象:
1 2 3 4
<标签为=”{{form.name.vars.id}}”类=”{{form.name.vars.required吗?“要求”:"}}”>{{form.name.vars.label}}< /标签>
2.3
的方法
和行动
Symfony 2.3中引入的变量。ob娱乐下载
2.4
的提交
变量是在Symfony 2.4中引入的。ob娱乐下载
变量 | 使用 |
---|---|
形式 |
当前的FormView 实例。 |
id |
的id 呈现的HTML属性。 |
的名字 |
字段的名称(如。标题 )——但不是的名字 HTML属性,它是full_name 。 |
full_name |
的的名字 呈现的HTML属性。 |
错误 |
一个数组的任何错误这特定的字段(如。form.title.errors )。请注意,您不能使用form.errors 来确定一种形式是有效的,因为这只返回“全球”的错误:个别字段可能错误。相反,使用有效的 选择。 |
提交 |
返回真正的 或假 这取决于整个表单提交 |
有效的 |
返回真正的 或假 这取决于整个形式是有效的。 |
价值 |
时将使用的价值呈现(一般价值 HTML属性)。 |
read_only |
如果真正的 ,只读的=“readonly” 添加到字段。 |
禁用 |
如果真正的 ,禁用= "禁用" 添加到字段。 |
要求 |
如果真正的 ,一个要求 属性添加到字段验证激活HTML5。此外,一个要求 类添加到标签。 |
max_length |
添加一个最大长度 HTML属性的元素。 |
模式 |
添加一个模式 HTML属性的元素。 |
标签 |
字符串标签将会呈现。 |
多部分 |
如果真正的 ,form_enctype 将呈现enctype = " multipart /格式” 。这只适用于根表单元素。 |
attr |
一个键-值数组,将呈现为HTML属性字段。 |
label_attr |
一个键-值数组,将呈现为HTML属性标签。 |
复合 |
一个字段是否实际上是一个保持者一群孩子字段(例如,一个选择 字段,它实际上是一组复选框。 |
block_prefixes |
一个数组的所有父类型的名称。 |
translation_domain |
这种形式的翻译领域。 |
cache_key |
一个唯一键用于缓存。 |
数据 |
的规范化数据类型。 |
方法 |
当前形式的方法(POST、GET、等等)。 |
行动 |
当前形式的作用。 |