函数和变量引用树枝模板形式
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
功能呈现每一种形式的一部分;
您将使用函数经常呈现你的领域。变量,另一方面,不太常用,但无限强大的因为你可以访问字段标签id属性错误和其他领域。
形式(视图、变量)
完整呈现的HTML表单。
1 2
{#呈现形式和改变提交方法#}{{形式(形式,{“方法”:“得到”})}}
您将主要使用此辅助原型或如果您使用自定义形式的主题。如果你需要更多的灵活性呈现形式,您应该使用另一个帮手来呈现表单的各个部分:
1 2 3 4 5 6 7 8
{{form_start(形式)}}{{form_errors(形式)}}{{form_row (form.name)}}{{form_row (form.dueDate)}}{{form_row(形式。提交、{“标签”:提交我的})}}{{form_end(形式)}}
form_start(视图中,变量)
呈现一种形式的开始标记。这个助手负责打印表单的配置方法和目标操作。它还包括正确的enctype
如果表单包含上传字段属性。
1 2
{#呈现开始标记和更改提交方法#}{{form_start(形式,{“方法”:“得到”})}}
form_end(视图中,变量)
呈现的结束标记形式。
1
{{form_end(形式)}}
该助手还输出form_rest ()
除非你设置render_rest
假:
1 2
{#不要渲染unrendered领域#}{{form_end(形式,{render_rest:假})}}
了form_label(查看、标签变量)
呈现为给定的字段标签。你可以通过特定的标签要显示作为第二个参数。
1 2 3 4 5 6 7 8 9
{{了form_label (form.name)}}{#两种以下语法是等同的#}{{了form_label (form.name,“你的名字”,{label_attr:{“类”:“foo”}})}}{{了form_label (form.name null,{“标签”:“您的姓名”,“label_attr”:{“类”:“foo”}})}}
看到“函数和变量引用树枝模板形式“了解变量
论点。
form_widget(视图中,变量)
呈现给定的字段的HTML小部件。如果你把这个应用到整个形式或字段的集合,每个潜在的形式行将呈现。
1 2
{#呈现一个小部件,但添加一个“foo”类#}{{form_widget (form.name {attr”:{“类”:“foo”}})}}
第二个参数form_widget ()
是一个数组的变量。最常见的变量attr
,这是一个数组的HTML属性应用于HTML小部件。在某些情况下,某些类型也有其他模板有关的选项,可以通过。这些是type-by-type基础上讨论。的属性
不应用递归子字段如果你呈现许多领域(如。form_widget(形式)
)。
看到“函数和变量引用树枝模板形式了解更多的变量
论点。
form_row(视图中,变量)
呈现给定的字段的“行”,即组合字段的标签,错误和小部件。
1 2
{#渲染字段行,但显示一个标签与文本“foo”#}{{form_row (form.name){“标签”:“foo”}}}
第二个参数form_row ()
是一个数组的变量。Symfony中提供的模板只允许覆盖在上面的示例中所ob娱乐下载示的标签。
看到“函数和变量引用树枝模板形式“了解变量
论点。
form_rest(视图中,变量)
这使得各个领域尚未呈现给定形式。这是个不错的主意总是在你的形式,因为它会为你呈现隐藏字段和做出任何领域你忘了呈现容易点(因为它会为你呈现领域)。
1
{{form_rest(形式)}}
形式(视图、变量)
完整呈现的HTML表单。
1 2
{#呈现形式和改变提交方法#}{{形式(形式,{“方法”:“得到”})}}
您将主要使用此辅助原型或如果您使用自定义形式的主题。如果你需要更多的灵活性呈现形式,您应该使用另一个帮手来呈现表单的各个部分:
1 2 3 4 5 6 7 8
{{form_start(形式)}}{{form_errors(形式)}}{{form_row (form.name)}}{{form_row (form.dueDate)}}{{form_row(形式。提交、{“标签”:提交我的})}}{{form_end(形式)}}
form_start(视图中,变量)
呈现一种形式的开始标记。这个助手负责打印表单的配置方法和目标操作。它还包括正确的enctype
如果表单包含上传字段属性。
1 2
{#呈现开始标记和更改提交方法#}{{form_start(形式,{“方法”:“得到”})}}
form_end(视图中,变量)
呈现的结束标记形式。
1
{{form_end(形式)}}
该助手还输出form_rest ()
除非你设置render_rest
假:
1 2
{#不要渲染unrendered领域#}{{form_end(形式,{render_rest:假})}}
了form_label(查看、标签变量)
呈现为给定的字段标签。你可以通过特定的标签要显示作为第二个参数。
1 2 3 4 5 6 7 8 9
{{了form_label (form.name)}}{#两种以下语法是等同的#}{{了form_label (form.name,“你的名字”,{label_attr:{“类”:“foo”}})}}{{了form_label (form.name null,{“标签”:“您的姓名”,“label_attr”:{“类”:“foo”}})}}
看到“函数和变量引用树枝模板形式“了解变量
论点。
form_widget(视图中,变量)
呈现给定的字段的HTML小部件。如果你把这个应用到整个形式或字段的集合,每个潜在的形式行将呈现。
1 2
{#呈现一个小部件,但添加一个“foo”类#}{{form_widget (form.name {attr”:{“类”:“foo”}})}}
第二个参数form_widget ()
是一个数组的变量。最常见的变量attr
,这是一个数组的HTML属性应用于HTML小部件。在某些情况下,某些类型也有其他模板有关的选项,可以通过。这些是type-by-type基础上讨论。的属性
不应用递归子字段如果你呈现许多领域(如。form_widget(形式)
)。
看到“函数和变量引用树枝模板形式了解更多的变量
论点。
form_row(视图中,变量)
呈现给定的字段的“行”,即组合字段的标签,错误和小部件。
1 2
{#渲染字段行,但显示一个标签与文本“foo”#}{{form_row (form.name){“标签”:“foo”}}}
第二个参数form_row ()
是一个数组的变量。Symfony中提供的模板只允许覆盖在上面的示例中所ob娱乐下载示的标签。
看到“函数和变量引用树枝模板形式“了解变量
论点。
form_rest(视图中,变量)
这使得各个领域尚未呈现给定形式。这是个不错的主意总是在你的形式,因为它会为你呈现隐藏字段和做出任何领域你忘了呈现容易点(因为它会为你呈现领域)。
1
{{form_rest(形式)}}
是运营商树枝创造条件。读树枝的文档欧宝官网下载app为更多的信息。
selectedchoice (selected_value)
这个测试将检查如果当前选择=selected_value
如果当前选择数组中(当selected_value
是一个数组)。
1
<选项{%如果选择是selectedchoice(值)%}选择=“选择”{%endif%}{#……#}>
rootform
这个测试将检查当前形式
没有父窗体视图。
1 2 3 4 5 6 7 8 9 10 11 12
{#不这样做:这个简单的检查不能区分一个表单有一个父窗体视图和表单嵌套定义一个表单字段名为“父”#}{%如果的形式。父是null %}{{form_errors(形式)}}{%endif%}{#这样做:这张支票总是可靠,即使表单定义一个字段名为“父”#}{%如果形式是rootform %}{{form_errors(形式)}}{%endif%}
selectedchoice (selected_value)
这个测试将检查如果当前选择=selected_value
如果当前选择数组中(当selected_value
是一个数组)。
1
<选项{%如果选择是selectedchoice(值)%}选择=“选择”{%endif%}{#……#}>
rootform
这个测试将检查当前形式
没有父窗体视图。
1 2 3 4 5 6 7 8 9 10 11 12
{#不这样做:这个简单的检查不能区分一个表单有一个父窗体视图和表单嵌套定义一个表单字段名为“父”#}{%如果的形式。父是null %}{{form_errors(形式)}}{%endif%}{#这样做:这张支票总是可靠,即使表单定义一个字段名为“父”#}{%如果形式是rootform %}{{form_errors(形式)}}{%endif%}
几乎在每一个树枝上面函数,最后一个参数是一个数组时使用的“变量”的呈现形式的一部分。例如,下面会呈现“部件”字段和修改其属性包含一个特殊的类:
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 13 14 15 16 17 18 19 20 21日22日23日
{%块了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}}< /标签>
变量
使用
形式
当前的FormView
实例。
id
的id
呈现的HTML属性。
的名字
字段的名称(如。标题
)——但不是的名字
HTML属性,它是full_name
。
full_name
的的名字
呈现的HTML属性。
错误
一个数组的任何错误这特定的字段(如。form.title.errors
)。请注意,您不能使用form.errors
来确定一种形式是有效的,因为这只返回“全球”的错误:个别字段可能错误。相反,使用有效的
选择。
提交
返回真正的
或假
这取决于整个表单提交
有效的
返回真正的
或假
这取决于整个形式是有效的。
价值
时将使用的价值呈现(一般价值
HTML属性)。
禁用
如果真正的
,禁用= "禁用"
添加到字段。
要求
如果真正的
,一个要求
属性添加到字段验证激活HTML5。此外,一个要求
类添加到标签。
标签
字符串标签将会呈现。
多部分
如果真正的
,form_enctype
将呈现enctype = " multipart /格式”
。这只适用于根表单元素。
attr
一个键-值数组,将呈现为HTML属性字段。
label_attr
一个键-值数组,将呈现为HTML属性标签。
复合
一个字段是否实际上是一个保持者一群孩子字段(例如,一个选择
字段,它实际上是一组复选框)。
block_prefixes
一个数组的所有父类型的名称。
translation_domain
这种形式的翻译领域。
cache_key
一个唯一键用于缓存。
数据
的规范化数据类型。
方法
当前形式的方法(POST、GET、等等)。
行动
当前形式的作用。
1 2 3 4
<标签为=”{{form.name.vars.id}}”类=”{{form.name.vars.required吗?‘需要’}}”>{{form.name.vars.label}}< /标签>
变量 | 使用 |
---|---|
形式 |
当前的FormView 实例。 |
id |
的id 呈现的HTML属性。 |
的名字 |
字段的名称(如。标题 )——但不是的名字 HTML属性,它是full_name 。 |
full_name |
的的名字 呈现的HTML属性。 |
错误 |
一个数组的任何错误这特定的字段(如。form.title.errors )。请注意,您不能使用form.errors 来确定一种形式是有效的,因为这只返回“全球”的错误:个别字段可能错误。相反,使用有效的 选择。 |
提交 |
返回真正的 或假 这取决于整个表单提交 |
有效的 |
返回真正的 或假 这取决于整个形式是有效的。 |
价值 |
时将使用的价值呈现(一般价值 HTML属性)。 |
禁用 |
如果真正的 ,禁用= "禁用" 添加到字段。 |
要求 |
如果真正的 ,一个要求 属性添加到字段验证激活HTML5。此外,一个要求 类添加到标签。 |
标签 |
字符串标签将会呈现。 |
多部分 |
如果真正的 ,form_enctype 将呈现enctype = " multipart /格式” 。这只适用于根表单元素。 |
attr |
一个键-值数组,将呈现为HTML属性字段。 |
label_attr |
一个键-值数组,将呈现为HTML属性标签。 |
复合 |
一个字段是否实际上是一个保持者一群孩子字段(例如,一个选择 字段,它实际上是一组复选框)。 |
block_prefixes |
一个数组的所有父类型的名称。 |
translation_domain |
这种形式的翻译领域。 |
cache_key |
一个唯一键用于缓存。 |
数据 |
的规范化数据类型。 |
方法 |
当前形式的方法(POST、GET、等等)。 |
行动 |
当前形式的作用。 |