如何自定义形式呈现
编辑该页面形式的主题或使用任何内置的主题,如引导主题Symfony形式欧宝娱乐app下载地址。
()树枝函数形式足以使整个表单,包括所有字段和错误消息:
1 2 3 4
{#形式是一个变量通过控制器通过$ this - >渲染('……”,“形式”= > $形式])或$ this - >渲染('……”,“形式”= > $形式- > createView ())) #}{{形式(形式)}}
下一步是使用form_start (),form_end (),form_errors ()和form_row ()树枝函数呈现不同的形式部分所以你可以定制它们添加HTML元素和属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
{{form_start(形式)}}<div类=“my-custom-class-for-errors”>{{form_errors(形式)}}< /div><div类=“行”><div类=“上校”>{{form_row (form.task)}}< /div><div类=“上校”id=“some-custom-id”>{{form_row (form.dueDate)}}< /div>< /div>{{form_end(形式)}}
的form_row ()
函数输出整个字段内容,包括标签,帮助信息,HTML元素和错误消息。所有这些可以进一步定制使用其他分支功能,见下图:
的了form_label (),form_widget (),form_help ()和form_errors ()嫩枝功能给你完全控制每个表单字段是如何呈现的,所以你可以完全定制它们:
1 2 3 4 5 6 7 8 9 10
<div类=“表单控件”><我类=“fa fa-calendar”>< /我>{{了form_label (form.dueDate)}}{{form_widget (form.dueDate)}}<小>{{form_help (form.dueDate)}}< /小><div类=“形状误差”>{{form_errors (form.dueDate)}}< /div>< /div>
谨慎
如果你手动呈现每个字段,确保你不要忘记_token
自动添加的字段CSRF保护。
您还可以使用{{form_rest(形式)}}
(推荐)呈现任何字段,没有手动呈现。看到form_rest()的文档欧宝体育电话下面以获取更多信息。
请注意
在本文的后面,您可以找到这些树枝的全部参考函数用法示例。
了form_label ()函数允许您定义一个自定义标签覆盖一个表单中定义:
1
{{了form_label(形式。任务,我的自定义任务标签)}}
一些表单字段类型额外的渲染选项,可以传递到小部件。这些选项记录每种类型,但一个共同的选择attr
,它允许您修改HTML表单元素的属性。以下将增加task_field
CSS类呈现输入文本字段:
1
{{form_widget(形式。任务,{attr”:{‘类’:‘task_field}})}}
请注意
如果你立刻呈现一个完整的形式(或一个完整的嵌入式形式),变量
争论只会应用于形式本身,而不是它的孩子。换句话说,以下将不通过“foo”类属性表单中的所有孩子的字段:
1 2
{# * *不* *工作——变量不是递归#}{{form_widget(形式,{attr”:{“类”:“foo”}})}}
如果你需要渲染表单字段“手工”然后你可以访问字段(如单个值id
,的名字
和标签
)使用其var
财产。例如获得id
:
1
{{form.task.vars。id}}
请注意
在本文的后面,您可以找到这些树枝的全部参考变量及其描述。
该助手还输出form_rest ()
(本文后面会详细解释),除非你设置render_rest
假:
1 2
{#不要渲染unrendered领域#}{{form_end(形式,{render_rest:假})}}
()树枝函数形式足以使整个表单,包括所有字段和错误消息:
1 2 3 4
{#形式是一个变量通过控制器通过$ this - >渲染('……”,“形式”= > $形式])或$ this - >渲染('……”,“形式”= > $形式- > createView ())) #}{{形式(形式)}}
1 2 3 4
{#形式是一个变量通过控制器通过$ this - >渲染('……”,“形式”= > $形式])或$ this - >渲染('……”,“形式”= > $形式- > createView ())) #}{{形式(形式)}}
下一步是使用form_start (),form_end (),form_errors ()和form_row ()树枝函数呈现不同的形式部分所以你可以定制它们添加HTML元素和属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
{{form_start(形式)}}<div类=“my-custom-class-for-errors”>{{form_errors(形式)}}< /div><div类=“行”><div类=“上校”>{{form_row (form.task)}}< /div><div类=“上校”id=“some-custom-id”>{{form_row (form.dueDate)}}< /div>< /div>{{form_end(形式)}}
的form_row ()
函数输出整个字段内容,包括标签,帮助信息,HTML元素和错误消息。所有这些可以进一步定制使用其他分支功能,见下图:
的了form_label (),form_widget (),form_help ()和form_errors ()嫩枝功能给你完全控制每个表单字段是如何呈现的,所以你可以完全定制它们:
1 2 3 4 5 6 7 8 9 10
<div类=“表单控件”><我类=“fa fa-calendar”>< /我>{{了form_label (form.dueDate)}}{{form_widget (form.dueDate)}}<小>{{form_help (form.dueDate)}}< /小><div类=“形状误差”>{{form_errors (form.dueDate)}}< /div>< /div>
谨慎
如果你手动呈现每个字段,确保你不要忘记_token
自动添加的字段CSRF保护。
您还可以使用{{form_rest(形式)}}
(推荐)呈现任何字段,没有手动呈现。看到form_rest()的文档欧宝体育电话下面以获取更多信息。
请注意
在本文的后面,您可以找到这些树枝的全部参考函数用法示例。
了form_label ()函数允许您定义一个自定义标签覆盖一个表单中定义:
1
{{了form_label(形式。任务,我的自定义任务标签)}}
一些表单字段类型额外的渲染选项,可以传递到小部件。这些选项记录每种类型,但一个共同的选择attr
,它允许您修改HTML表单元素的属性。以下将增加task_field
CSS类呈现输入文本字段:
1
{{form_widget(形式。任务,{attr”:{‘类’:‘task_field}})}}
请注意
如果你立刻呈现一个完整的形式(或一个完整的嵌入式形式),变量
争论只会应用于形式本身,而不是它的孩子。换句话说,以下将不通过“foo”类属性表单中的所有孩子的字段:
1 2
{# * *不* *工作——变量不是递归#}{{form_widget(形式,{attr”:{“类”:“foo”}})}}
如果你需要渲染表单字段“手工”然后你可以访问字段(如单个值id
,的名字
和标签
)使用其var
财产。例如获得id
:
1
{{form.task.vars。id}}
请注意
在本文的后面,您可以找到这些树枝的全部参考变量及其描述。
1
{{了form_label(形式。任务,我的自定义任务标签)}}
attr
,它允许您修改HTML表单元素的属性。以下将增加task_field
CSS类呈现输入文本字段:1
{{form_widget(形式。任务,{attr”:{‘类’:‘task_field}})}}
请注意
如果你立刻呈现一个完整的形式(或一个完整的嵌入式形式),变量
争论只会应用于形式本身,而不是它的孩子。换句话说,以下将不通过“foo”类属性表单中的所有孩子的字段:
1 2
{# * *不* *工作——变量不是递归#}{{form_widget(形式,{attr”:{“类”:“foo”}})}}
id
,的名字
和标签
)使用其var
财产。例如获得id
:1
{{form.task.vars。id}}
请注意
在本文的后面,您可以找到这些树枝的全部参考变量及其描述。
该助手还输出form_rest ()
(本文后面会详细解释),除非你设置render_rest
假:
1 2
{#不要渲染unrendered领域#}{{form_end(形式,{render_rest:假})}}
form_rest ()
(本文后面会详细解释),除非你设置render_rest
假:1 2
{#不要渲染unrendered领域#}{{form_end(形式,{render_rest:假})}}
看到“如何自定义形式呈现“了解变量
论点。
谨慎
引导4形式的主题,form_errors ()
已经包含在了form_label ()
。阅读更多关于这个的引导4主题文档欧宝体育电话。
第二个参数form_widget ()
是一个数组的变量。最常见的变量attr
,这是一个数组的HTML属性应用于HTML小部件。在某些情况下,某些类型也有其他模板有关的选项,可以通过。这些是type-by-type基础上讨论。的属性
不应用递归子字段如果你呈现许多领域(如。form_widget(形式)
)。
看到“如何自定义形式呈现了解更多的变量
论点。
第二个参数form_row ()
是一个数组的变量。Symfony中提供的模板只允许覆盖在上面的示例中所欧宝娱乐app下载地址示的标签。
看到“如何自定义形式呈现“了解变量
论点。