附录A -小部件
介绍
symfob娱乐下载ony框架形式与很多有用的小部件捆绑在一起。这些小部件覆盖大多数项目的共同需求。这一章描述了默认表单组件捆绑symfony。ob娱乐下载我们还包括一些的表单组件sfFormExtraPlugin
,sfPropelPlugin
,sfDoctrinePlugin
插件,这些插件支持的核心团队,包含一些非常有用的小部件。
提示
即使你不使用symfony的MVC框架,您可以使用小ob娱乐下载部件中定义sfFormExtraPlugin
,sfPropelPlugin
,sfDoctrinePlugin
插件的部件/
目录在您的项目。
在深入每个小部件细节之前,让我们看看小部件的共同点。
的sfWidget
基类
symfob娱乐下载ony小部件继承sfWidget
基类,它提供了一些默认的特性对所有小部件。
默认情况下,所有小部件呈现为XHTML。您可以通过调用切换到HTMLsetXhtml ()
方法:
sfWidget::setXhtml(假);
小部件自动系统还负责转义的HTML属性和合理的内容。是有效的,它需要知道您的项目使用的字符集。默认字符集utf - 8
,但它可以通过调用配置setCharset ()
方法:
sfWidget::setCharset(“iso - 8859 - 1”);
请注意
如果你使用symfony的syob娱乐下载mfony部件MVC框架,字符集是自动设置的字符集settings.yml
。
如果一个部件取决于一些JavaScript文件和/或样式表,您可以重写getJavaScripts ()
和getStylesheets ()
方法分别是:
类小部件扩展sfWidget{公共函数getStylesheets(){/ /数组的键是媒体文件和值的名字/ /冒号隔开(,)返回数组(“/道路/ / file.css”= >“所有”,“另一个/ file.css”= >屏幕打印的,);}公共函数getJavaScripts(){返回数组(“/道路/ / file.js”,“另一个/ file.js”);}}
的sfWidgetForm
基类
在本节中,我们将只讨论表单组件。他们继承的sfWidgetForm
基类,它扩展了sfWidget
类提供一些额外的默认功能。
当创建一个小部件,您可以选择通过选项和HTML属性参数:
w美元=新sfWidgetFormInputText(数组(“默认”= >“法”),数组(“类”= >“foo”));
选项和HTML属性也可以通过设置setoption ()
和setAttributes ()
方法:
w美元=新sfWidgetFormInputText();w美元- >setoption(数组(“默认”= >“法”));w美元- >setAttributes(数组(“类”= >“foo”));
的setOption ()
和setAttribute ()
方法允许设置一个选项或HTML属性:
w美元=新sfWidgetFormInputText();w美元- >setOption(“默认”,“法”);w美元- >setAttribute(“类”,“foo”);
一个小部件可以通过调用呈现()
方法:
w美元- >渲染(“名字”,“价值”,数组(“类”= >“foo”));
的呈现()
方法有以下参数:
- 小部件的名称
- 小部件的价值
- 一些可选的HTML属性(这些都是合并在施工时使用默认的定义)
请注意
小部件是无状态的,这意味着一个小部件实例可以被多次呈现为不同的参数。
上面的小部件呈现如下:
<输入类=“foo”类型=“文本”name =“酒吧”id =“酒吧”值=“价值”/ >
定义的缺省选项sfWidgetForm
是以下:
选项 | 描述 |
---|---|
is_hidden |
真正的 如果表单部件必须被隐藏,假 否则(假 默认情况下) |
needs_multipart |
真正的 如果表单部件需要一个多部分的形式,假 否则(假 默认情况下) |
默认的 |
默认值时使用呈现小部件 |
标签 |
小部件时要使用的标签是由一个小部件呈现模式 |
id_format |
的格式生成的HTML id属性(% s 默认情况下) |
请注意
的is_hidden
选择使用小部件形式模式类呈现隐藏部件没有装饰。的needs_multipart
选择使用类来添加一个形式enctype = " multipart /格式”
属性在呈现一个形式
标签。
的sfWidgetForm
类还提供了访问器方法的选择:
is_hidden
:isHidden ()
,setHidden ()
needs_multipart
:needsMultipartForm ()
默认的
:getValue ()
,setValue ()
标签
:getLabel ()
,setLabel ()
id_format
:getIdFormat ()
,setIdFormat ()
小部件的模式
一个表单部件模式是一个或多个其他小部件包装器小部件。
在接下来的部分中,已经重新集结成的小部件类别。
小部件
sfWidgetFormChoice
sfWidgetFormDate
sfWidgetFormDateRange
sfWidgetFormDateTime
sfWidgetFormDoctrineChoice
sfWidgetFormFilterInput
sfWidgetFormFilterDate
sfWidgetFormI18nChoiceCountry
sfWidgetFormI18nChoiceLanguage
sfWidgetFormI18nChoiceCurrency
sfWidgetFormI18nChoiceTimezone
sfWidgetFormI18nDate
sfWidgetFormI18nDateTime
sfWidgetFormI18nTime
sfWidgetFormInput
sfWidgetFormInputCheckbox
sfWidgetFormInputFile
sfWidgetFormInputFileEditable
sfWidgetFormInputHidden
sfWidgetFormInputPassword
sfWidgetFormJQueryAutocompleter
sfWidgetFormJQueryDate
sfWidgetFormPropelChoice
sfWidgetFormReCaptcha
sfWidgetFormSchema
sfWidgetFormSchemaDecorator
sfWidgetFormSelect
sfWidgetFormSelectDoubleList
sfWidgetFormSelectMany
sfWidgetFormSelectCheckbox
sfWidgetFormSelectRadio
sfWidgetFormTextarea
sfWidgetFormTextareaTinyMCE
sfWidgetFormTime
输入小部件
sfWidgetFormInput
的输入
标签可能是最简单的表单标记你所使用和表示的sfWidgetFormInput
类。
选项 | 描述 |
---|---|
类型 |
HTML的价值类型 属性(文本 默认情况下) |
w美元=新sfWidgetFormInputText();回声w美元- >渲染(“foo”);# < input type = " text " name = " foo " id = " foo " / >
sfWidgetFormInputCheckbox
的sfWidgetFormInputCheckbox
是一个输入小部件类型
的复选框
。
w美元=新sfWidgetFormInputCheckbox();回声w美元- >渲染(“foo”);# < input type = "复选框“name = " foo " id = " foo " / >
sfWidgetFormInputHidden
的sfWidgetFormInputHidden
是一个输入小部件类型
的隐藏的
。的is_hidden
选项也将真正的
。
w美元=新sfWidgetFormInputHidden();回声w美元- >渲染(“foo”);# < input type = "隐藏" name = " foo " id = " foo " / >
sfWidgetFormInputPassword
的sfWidgetFormInputPassword
是一个输入小部件类型
的密码
。
w美元=新sfWidgetFormInputPassword();回声w美元- >渲染(“foo”);# < input type = "密码" name = " foo " id = " foo " / >
sfWidgetFormInputFile
的sfWidgetFormInputFile
是一个输入小部件类型
的文件
。的needs_multipart
选择是自动设置真正的
。
w美元=新sfWidgetFormInputFile();回声w美元- >渲染(“foo”);# < input type = " file " name = " foo " id = " foo " / >
sfWidgetFormInputFileEditable
的sfWidgetFormInputFileEditable
输入文件是一个小部件,延长sfWidgetFormInputFile
小部件添加可能显示或删除之前上传的文件。
选项 | 描述 |
---|---|
file_src |
当前图像网络源路径(必需) |
edit_mode |
一个布尔值:真正的 启用编辑模式,假 否则 |
is_image |
是否文件是一个可显示的图像 |
with_delete |
是否添加一个删除复选框 |
delete_label |
删除标签使用的模板 |
模板 |
使用呈现这个小部件的HTML模板 |
可用的占位符是: | |
*输入 (图片上传窗口小部件) |
|
*删除 (删除复选框) |
|
*delete_label (删除标签文本) |
|
*文件 (文件标签) |
谨慎
在编辑
模式中,这个小部件呈现一个额外的小部件命名文件上传小部件与“_delete”后缀。创建一个表单时,别忘了为这额外的字段添加一个验证器。
sfWidgetFormTextarea
的sfWidgetFormTextarea
小部件自动设置为默认值行
和关口
HTML属性是强制性的。
w美元=新sfWidgetFormTextarea();回声w美元- >渲染(“foo”);# < textarea行=“4”关口= " 30 " name = " foo " id = " foo " > < / >文本区域
sfWidgetFormTextareaTinyMCE
如果你想呈现一个WYSIWYG编辑器小部件,您可以使用sfWidgetFormTextareaTinyMCE
:
w美元=新sfWidgetFormTextareaTinyMCE(数组(),数组(“类”= >“foo”));
谨慎
这个小部件的一部分sfFormExtraPlugin
ob娱乐下载symfony插件。
随着TinyMCE JavaScript文件并不是捆绑插件,您必须安装它,包括自己。
选项 | 描述 |
---|---|
主题 |
TinyMCE主题(先进的 默认情况下) |
宽度 |
宽度 |
高度 |
高度 |
配置 |
特定的JavaScript数组配置 |
选择小部件
选择表示
当您希望用户列表之间做出选择的可能性,表示选择的HTML提供了几种方法:
一个
选择
标签:一个
选择
标签与一个多个
属性:的列表
输入
标签与一个类型
的广播
:的列表
输入
标签与一个类型
的复选框
:
但最终,他们都允许用户做一个或多个选择在一个有限数量的可能性。
的sfWidgetFormChoice
在一个小部件部件标准化所有这些可能性。小部件可以呈现一个选择的四个HTML表示上面我们已经看到。它还允许您定义自己的表现正如您将看到的。
sfWidgetFormChoice
是一个特殊的小部件,它代表呈现到另一个小部件。渲染是由两个选择:扩大
和多个
:
扩大 是假 |
扩大 是真正的 |
|
---|---|---|
多个 是假 |
sfWidgetFormSelect |
sfWidgetFormSelectRadio |
多个 是真正的 |
sfWidgetFormSelectMany |
sfWidgetFormSelectCheckbox |
请注意
的sfWidgetFormSelect
,sfWidgetFormSelectMany
,sfWidgetFormSelectCheckbox
,sfWidgetFormSelectRadio
所使用的小部件sfWidgetFormChoice
呈现本身是普通小部件和其他,可以直接使用。他们没有记录在本节大部分时间,最好是使用更加灵活sfWidgetFormChoice
小部件。
这是每个可能性的HTML表示:
w美元=新sfWidgetFormChoice(数组(“选择”= >数组(“法比效力”,“费边兰格”),));
w美元=新sfWidgetFormChoice(数组(“多”= >真正的,“选择”= >数组(“PHP”,sob娱乐下载ymfony的,“原则”,“推动”,“模型”),));
w美元=新sfWidgetFormChoice(数组(“扩展”= >真正的,“选择”= >数组(“发布”,“草案”,“删除”),));
w美元=新sfWidgetFormChoice(数组(“扩展”= >真正的,“多”= >真正的,“选择”= >数组(symfony的一周ob娱乐下载,“叫专家”,“欧宝体育平台怎么样社区”),));
选择分组
的sfWidgetFormChoice
小部件具有内置支持组选择通过一个数组的数组选择
选项:
美元的选择=数组(“欧洲”= >数组(“法国”= >“法国”,“西班牙”= >“西班牙”,“意大利”= >“意大利”),“美国”= >数组(“美国”= >“美国”,“加拿大”= >“加拿大”,“巴西”= >“巴西”),);w美元=新sfWidgetFormChoice(数组(“选择”= >美元的选择));
的扩大
和多个
选项也正常工作:
w美元=新sfWidgetFormChoice(数组(“选择”= >美元的选择,“扩展”= >真正的,));
渲染器使用的布局小部件也可以定制:
w美元=新sfWidgetFormChoice(数组(“选择”= >美元的选择,“扩展”= >真正的,“renderer_options”= >数组(“模板”= >' <强> % % < /强> %选项分组%”),));
这里有一些更多的选择组合的例子:
w美元=新sfWidgetFormChoice(数组(“选择”= >美元的选择,“多”= >真正的,));
w美元=新sfWidgetFormChoice(数组(“选择”= >美元的选择,“多”= >真正的,“扩展”= >真正的,“renderer_options”= >数组(“模板”= >' <强> % % < /强> %选项分组%”),));
请注意
当小部件呈现平原选择
标签,它使用标准optgroup
标签。
支持选项
这是所有小部件支持选项的列表:
选项 | 描述 |
---|---|
选择 |
一组可能的选择(必需) |
多个 |
真正的 如果选择标签必须允许多个选择 |
扩大 |
真正的 扩大显示小部件 |
renderer_class |
类的使用而不是默认的一个 |
renderer_options |
选择通过渲染器的构造函数 |
渲染器 |
一个渲染器小部件(覆盖扩大 和renderer_options 选项) |
的选择 选项将:新sfCallable (thisWidgetInstance美元,“getChoices”) |
的sfWidgetFormSelectCheckbox
和sfWidgetFormSelectRadio
小部件支持以下选项:
选项 | 描述 |
---|---|
label_separator |
之间的分隔符使用输入/单选按钮和标签的复选框 |
类 |
主要的类来使用< ul > 标签 |
分隔符 |
每个输入之间的分隔符使用复选框和单选按钮 |
格式化程序 |
一个可调用的调用格式复选框的选择 |
格式化程序可调用的接收小部件,并输入数组作为参数 | |
模板 |
时所使用的模板分组选项组(% % % %组选项 ) |
双列表示
当用户可以选择多个选项,它有时是更好的在另一个框显示选择的列表选项。
的sfWidgetFormSelectDoubleList
小部件可以用来呈现一个选择小部件作为一个双重列表:
w美元=新sfWidgetFormChoice(数组(“选择”= >数组(“PHP”,sob娱乐下载ymfony的,“原则”,“推动”,“模型”),“renderer_class”= >“sfWidgetFormSelectDoubleList”,));
谨慎
这个小部件的一部分sfFormExtraPlugin
ob娱乐下载symfony插件。
请注意
这个小部件使用一些自定义的javascript来工作。您可以检索他们的路径通过调用小部件getJavaScripts ()
方法:
美元的文件=w美元- >getJavascripts();
选项 | 描述 |
---|---|
选择 |
一组可能的选择(必需) |
类 |
小部件的主类 |
class_select |
两个选择的类标签 |
label_unassociated |
不关联的标签 |
label_associated |
相关的标签 |
unassociate |
unassociate的HTML链接 |
副 |
关联的HTML链接 |
模板 |
使用呈现这个小部件的HTML模板 |
可用的占位符是:% label_associated % ,% label_unassociated % ,%副% ,% unassociate % ,% %相关 ,%不相联系的% ,%类% |
自动完成
当您希望用户做出选择在很多元素,清单都在一个选择框变得不切实际。的sfWidgetFormJQueryAutocompleter
通过将一个简单的解决了这个问题输入
标签自动完成选择框。
谨慎
这个小部件的一部分sfFormExtraPlugin
ob娱乐下载symfony插件。JQuery和JQuery UI不捆绑sfFormExtraPlugin
,您需要安装,包括他们的手。
w美元=新sfWidgetFormChoice(数组(“选择”= >数组(),“renderer_class”= >“sfWidgetFormJQueryAutocompleter”,“renderer_options”= >数组(“url”= >' / autocomplete_script '),));
请注意
这个小部件使用一些自定义的javascript和样式表正常工作。您可以检索他们的路径通过调用小部件getJavaScripts ()
和getStylesheets ()
方法。
的url
选择是小部件将调用的URL填充选择基于用户输入。URL接收两个参数:
问
:用户输入的字符串限制
:返回条目的最大数量
该脚本必须返回一个有效的JSON表示的选择(使用PHP内置数组json_encode ()
函数将一个数组转换成JSON)。
选项 | 描述 |
---|---|
url |
要调用的URL来选择使用(必需) |
配置 |
JQuery JavaScript数组配置自动完成小部件 |
value_callback |
一个回调,将之前的值显示 |
如果选择是推动相关模型,sfWidgetFormPropelJQueryAutocompleter
小部件是优化的外键查找:
w美元=新sfWidgetFormChoice(数组(“renderer_class”= >“sfWidgetFormPropelJQueryAutocompleter”,“renderer_options”= >数组(“模型”= >“文章”,“url”= >' / autocomplete_script ',),));
选项 | 描述 |
---|---|
模型 |
模型类(必需) |
方法 |
方法用于将一个对象转换为字符串(__toString () 默认情况下) |
选择绑定到一个推动模式
如果选择必然会推动模型(通常当你想允许用户改变一个外键),您可以使用sfWidgetFormPropelChoice
部件:
w美元=新sfWidgetFormPropelChoice(数组(“模型”= >“文章”,“add_empty”= >假,));
的选择
是由小部件根据自动检索模型
类通过。通过设置专门的部件是高度可配置的选项:
选项 | 描述 |
---|---|
模型 |
推动模型类(必需) |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值 | |
方法 |
方法用来显示对象的值(__toString 默认情况下) |
key_method |
使用的方法来显示对象键(getPrimaryKey 默认情况下) |
order_by |
一个数组组成的两个字段: |
*列顺序的结果(必须的PhpName 格式) |
|
*asc 或desc |
|
标准 |
检索对象时使用的标准 |
连接 |
推动连接名称使用(零 默认情况下) |
多个 |
真正的 如果选择标签必须允许多个选择 |
peer_method |
使用对等方法获取对象 |
选择绑定到一个理论模型
如果选择绑定到一个理论模型(通常当你想允许用户更改外键),您可以使用sfWidgetFormDoctrineChoice
部件:
w美元=新sfWidgetFormDoctrineChoice(数组(“模型”= >“文章”,“add_empty”= >假,));
的选择
是由小部件根据自动检索模型
类通过。通过设置专门的部件是高度可配置的选项:
选项 | 描述 |
---|---|
模型 |
模型类(必需) |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值 | |
方法 |
方法用来显示对象的值(__toString 默认情况下) |
key_method |
使用的方法来显示对象键(getPrimaryKey 默认情况下) |
order_by |
一个数组组成的两个字段: |
*列顺序的结果(必须的PhpName 格式) |
|
*asc 或desc |
|
查询 |
查询时使用检索对象 |
连接 |
教义连接使用(零 默认情况下) |
多个 |
真正的 如果选择标签必须允许多个选择 |
table_method |
使用获取对象的方法 |
日期窗口小部件
日期窗口小部件可用于缓解日期进入通过提出几个日期选择框,时间或日期时间。symfob娱乐下载ony日期窗口小部件都是由几个HTML标记。也可以根据用户定制的文化。
请注意
有些人喜欢使用一个简单的输入
日期标签,因为用户可以输入日期快通过避免所有的选择框。当然,日期格式是在服务器端执行的验证器。值得庆幸的是,symfony日期ob娱乐下载验证器提出了一个强大的验证器,在什么样的日期格式很自由是能够理解和解析。
sfWidgetFormDate
的sfWidgetFormDate
代表一个约会小部件:
用户提交的值存储在一个数组的小部件的名称:
w美元=新sfWidgetFormDate();w美元- >渲染(“日期”);#提交的值将在一系列“日期”:#阵列(#“日期”= >阵列(# '天' = > 15日# '月' = > 10,#“年”= > 2005年,#),#);
可以自定义小部件的行为有很多选项:
选项 | 描述 |
---|---|
格式 |
日期格式的字符串(%月% / %天% % % 默认情况下) |
年 |
年全年数组选择标签(可选) |
个月 |
个月当月数组选择标记(可选) |
天 |
天一天选择标记数组(可选) |
can_be_empty |
无论是小部件接受空值(真正的 默认情况下) |
empty_values |
一个数组的值为空值(使用空的 |
字符串一年 ,月 ,一天 默认情况下) |
使用格式
选项允许定制安排(默认的标签%年%
,%月%
,%天%
占位符替换为相应的选择
标签的时候呈现()
方法被调用):
w美元=新sfWidgetFormDate(数组(“格式”= >“% - % % % - %月天%’));
默认情况下,一年
选择标记填充周围的十年。这可以通过改变年
选择:
美元的年=范围(2009年,2020年);w美元=新sfWidgetFormDate(数组(“年”= >合二为一(美元的年,美元的年)));
的年
,个月
,天
选择以一个数组的键值选项
标签和值是字符串显示给用户。
sfWidgetFormTime
的sfWidgetFormTime
代表一个时间窗口小部件:
用户提交的值存储在一个数组的小部件的名称:
w美元=新sfWidgetFormTime();w美元- >渲染(“时间”);#提交的值将在一个“时间”数组:#阵列(# '时间' = >阵列(#“小时”= > 12,#“分钟”= > 13日# '第二' = > 14日#),#);
可以自定义小部件的行为有很多选项:
选项 | 描述 |
---|---|
格式 |
格式字符串的时间(%小时%:%分钟%:% % ) |
format_without_seconds |
时间格式字符串没有秒(%小时%:% % ) |
with_seconds |
是否包括选择秒(假 默认情况下) |
小时 |
数组的小时小时选择标签(可选) |
分钟 |
数组的分钟分钟选择标签(可选) |
秒 |
数组的秒第二选择标签(可选) |
can_be_empty |
无论是小部件接受空值(真正的 默认情况下) |
empty_values |
一个数组的值用于空值 |
(空字符串小时 ,分钟 ,秒 默认情况下) |
默认情况下,部件不允许选择秒。这可以通过设置改变with_seconds
选择正确的:
w美元=新sfWidgetFormTime(数组(“with_seconds”= >真正的));
使用格式
和format_without_seconds
选项允许定制安排(默认的标签%小时%
,%分钟%
,%第二%
占位符替换为相应的选择
标签的时候呈现()
方法被调用):
w美元=新sfWidgetFormTime(数组(“with_seconds”= >真正的,“格式”= >' %小时%:%分钟%:%第二% ',));
如果你不想提出或第二每一分钟,你可以提供你自己的值的三个标签:
美元秒=数组(0,15,30.,45);w美元=新sfWidgetFormTime(数组(“with_seconds”= >真正的,“秒”= >合二为一(美元秒,美元秒),));
的小时
,分钟
,秒
选择以一个数组的键值选项
标签和值是字符串显示给用户。
sfWidgetFormDateTime
的sfWidgetFormDateTime
小部件是一个小部件,它显示两个sub-widgets:sfWidgetFormDate
小部件和一个sfWidgetFormTime
一:
w美元=新sfWidgetFormDateTime();
选项 | 描述 |
---|---|
日期 |
选择小部件(见的日期sfWidgetFormDate ) |
时间 |
选择小部件(见的时间sfWidgetFormTime ) |
with_time |
是否包括时间(真正的 默认情况下) |
格式 |
日期和时间的格式字符串小部件 |
(默认为% % % %日期时间 ) |
提示
默认情况下,窗口小部件创建的实例sfWidgetFormDate
和sfWidgetFormTime
日期和时间分别为小部件。你可以改变的类使用的小部件通过重写getDateWidget ()
和getTimeWidget ()
方法。
sfWidgetFormI18nDate
的sfWidgetFormI18nDate
扩展了标准sfWidgetFormDate
小部件。但是标准的小部件显示月数字,i18n他们显示一个字符串,根据文化本地化:
w美元=新sfWidgetFormI18nDate(数组(“文化”= >“fr”));
本月字符串格式化可以调整的month_format
选择。它接受三个值:的名字
(默认),short_name
,或数量
。
w美元=新sfWidgetFormI18nDate(数组(“文化”= >“fr”,“month_format”= >“short_name”,));
根据文化、小部件也知道三种不同的选择框的顺序和它们之间的分隔符使用。
谨慎
这个小部件取决于symfony i18n sub-frob娱乐下载amework。
sfWidgetFormI18nTime
的sfWidgetFormI18nTime
扩展了标准sfWidgetFormTime
小部件。
根据文化
通过作为一个选项,小部件知道三种不同的选择框的顺序和它们之间的分隔符使用:
w美元=新sfWidgetFormI18nTime(数组(“文化”= >基于“增大化现实”技术的));
谨慎
这个小部件取决于symfony i18n sub-frob娱乐下载amework。
sfWidgetFormI18nDateTime
的sfWidgetFormI18nDateTime
小部件是一个小部件,它显示两个sub-widgets:sfWidgetFormI18nDate
小部件和一个sfWidgetFormI18nTime
一个。
谨慎
这个小部件取决于symfony i18n sub-frob娱乐下载amework。
sfWidgetFormDateRange
的sfWidgetFormDateRange
小部件是一个选择的日期范围:
w美元=新sfWidgetFormDateRange(数组(“from_date”= >新sfWidgetFormDate(),“to_date”= >新sfWidgetFormDate(),));
选项 | 描述 |
---|---|
from_date |
从日期小部件(必需) |
to_date |
到目前为止小部件(必需) |
模板 |
模板使用呈现小部件 |
(占位符:% from_date % ,% to_date % ) |
模板用于呈现小部件可以定制的模板
选择:
w美元=新sfWidgetFormDateRange(数组(“from_date”= >新sfWidgetFormDate(),“to_date”= >新sfWidgetFormDate(),“模板”= >“开始:% from_date % < br / >结束:% to_date % ',));
请注意
这个小部件是更复杂的基类sfWidgetFormFilterDate
小部件。
sfWidgetFormJQueryDate
的sfWidgetFormJQueryDate
小部件是一个日期由JQuery UI小部件呈现:
w美元=新sfWidgetFormJQueryDate(数组(“文化”= >“en”,));
谨慎
这个小部件的一部分sfFormExtraPlugin
ob娱乐下载symfony插件。JQuery和JQuery UI不捆绑sfFormExtraPlugin
,您需要安装,包括他们的手。
选项 | 描述 |
---|---|
图像 |
图片路径代表小部件(假 默认情况下) |
配置 |
JQuery JavaScript数组配置小部件 |
文化 |
用户的文化 |
I18n小部件
谨慎
本节中的小部件取决于symfony i18n sub-framework。ob娱乐下载
sfWidgetFormI18nChoiceCountry
的sfWidgetFormI18nChoiceCountry
代表国家的选择:
w美元=新sfWidgetFormI18nChoiceCountry(数组(“文化”= >“fr”));
选项 | 描述 |
---|---|
文化 |
使用的文化国际化字符串(默认值:在 ) |
国家 |
国家代码使用数组(ISO 3166) |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值。 |
sfWidgetFormI18nChoiceLanguage
的sfWidgetFormI18nChoiceLanguage
选择语言:
w美元=新sfWidgetFormI18nChoiceLanguage(数组(“文化”= >“fr”));
选项 | 描述 |
---|---|
文化 |
使用的文化国际化字符串(默认值:在 ) |
语言 |
一个语言代码使用数组 |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值。 |
sfWidgetFormI18nChoiceCurrency
的sfWidgetFormI18nChoiceCurrency
代表货币的选择:
w美元=新sfWidgetFormI18nChoiceCurrency(数组(“文化”= >“fr”));
选项 | 描述 |
---|---|
文化 |
用于文化国际化字符串(必需) |
货币 |
货币代码使用的数组 |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值。 |
sfWidgetFormI18nChoiceTimezone
的sfWidgetFormI18nChoiceTimezone
代表timzones的选择:
w美元=新sfWidgetFormI18nChoiceTimezone(数组(“文化”= >“fr”));
选项 | 描述 |
---|---|
文化 |
使用的文化国际化字符串(默认值:在 ) |
add_empty |
是否先添加一个空值(假 默认情况下) |
如果选择不是一个布尔值,值将被用作文本值。 |
验证码小部件
的sfFormExtraPlugin
插件提供了一个验证码小部件,sfWidgetFormReCaptcha
基于ReCaptcha项目:
w美元=新sfWidgetFormReCaptcha(数组(“public_key”= >“RECAPTCHA_PUBLIC_KEY”));
选项 | 描述 |
---|---|
public_key |
ReCaptcha公钥 |
use_ssl |
是否使用SSL (假 默认情况下) |
server_url |
HTTP API的URL |
server_url_ssl |
HTTPS的URL API(只有时使用use_ssl 是真正的 ) |
的public_key
ReCaptcha公钥。你可以获得一个免费签约一个API密匙。
提示
更多的信息ReCaptcha API网上可以找到。
因为它是不可能改变的名字ReCaptcha字段,你必须手动添加绑定表单时从一个HTTP请求。
例如,如果你的形式接触(% s)
名字的格式,这是所需的代码,以确保验证码信息将与其他表单提交的值:
美元的验证码=数组(“recaptcha_challenge_field”= >美元的请求- >getParameter(“recaptcha_challenge_field”),“recaptcha_response_field”= >美元的请求- >getParameter(“recaptcha_response_field”),);submittedValues美元=array_merge(美元的请求- >getParameter(“接触”),数组(“验证码”= >美元的验证码));
这个小部件使用的sfValidatorReCatpcha
验证器。
过滤部件
过滤部件具有特殊部件,可以用来呈现一种充当一个过滤器。
sfWidgetFormFilterInput
sfWidgetFormFilterInput
代表一个过滤的文本。默认情况下,它包括一个复选框允许用户搜索空的文本。
选项 | 描述 |
---|---|
with_empty |
是否要添加空复选框(真正的 默认情况下) |
empty_label |
标签使用当使用一个空的复选框 |
模板 |
模板使用呈现小部件 |
可用占位符:%输入% ,% empty_checkbox % ,% empty_label % |
sfWidgetFormFilterDate
sfWidgetFormFilterDate
代表一个小部件来过滤一个日期范围。默认情况下,它包括一个复选框允许用户搜索空日期。
选项 | 描述 |
---|---|
with_empty |
是否要添加空复选框(真正的 默认情况下) |
empty_label |
标签使用当使用一个空的复选框 |
模板 |
模板使用呈现小部件 |
可用占位符:% date_range % ,% empty_checkbox % ,% empty_label % |
sfWidgetFormSchema
的sfWidgetFormSchema
小部件是一个小部件是由几个字段。一个字段是一个名叫小部件:
w美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText(),“国家”= >新sfWidgetFormI18nChoiceCountry(),));
请注意
形式是由一个小部件定义的模式sfWidgetFormSchema
。
的sfWidgetFormSchema
构造函数5个可选参数:
- 字段的数组
- 一个数组的选项
- 一个HTML属性数组
- 数组的标签嵌入部件
- 帮助信息嵌入部件的数组
可用的选项是:
选项 | 描述 |
---|---|
name_format |
的sprintf 模式用于输入名字(% s 默认情况下) |
form_formatter |
表单格式器名称(表 和列表 捆绑,表 是默认的) |
如果你想改变一切形式的默认格式化程序,你可以设置setDefaultFormFormatterName ()
方法:
sfWidgetFormSchema::setDefaultFormFormatterName(“列表”);
随着sfWidgetFormSchema
扩展了sfWidgetForm
类,它继承了所有的方法和行为。
谨慎
一个sfWidgetFormSchema
对象只呈现小部件的“行”,而不是容器标签(表
对于一个表
格式化程序,或ul
为列表
一个):
<表>< ? php回声ws美元- >渲染(”)? >< /表>
的sfWidgetFormSchema
可以作为一个数组访问嵌入式部件:
ws美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText()));nameWidget美元=ws美元(“名字”];设置(ws美元(“名字”]);
谨慎
当一个小部件形成模式嵌入到表单,表单给你访问绑定字段模板,不要小部件本身。有关更多信息,请参见参考章形式。
作为一个像其他小部件模式是一个部件,部件可以嵌套模式:
ws美元=新sfWidgetFormSchema(数组(“标题”= >新sfWidgetFormInputText(),“作者”= >新sfWidgetFormSchema(数组(“first_name”= >新sfWidgetFormInputText(),“last_name”= >新sfWidgetFormInputText(),)),));
您可以访问嵌入式部件模式小部件使用数组表示法:
ws美元(“作者”](“first_name”]- >setLabel(“名字”);
下面,小部件的模式类的主要方法。方法的完整列表,请参阅在线API文档。欧宝官网下载app
setLabel ()
,getLabel ()
,setLabels ()
,getLabels ()
的setLabel ()
,getLabel ()
,setLabels ()
,getLabels ()
管理标签嵌入部件的方法。他们是代理方法getLabel ()
和setLabel ()
小部件的方法。
ws美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText()));ws美元- >setLabel(“名字”,“法”);/ /相当于ws美元(“名字”]- >setLabel(“法”);/ /或ws美元- >setLabels(数组(“名字”= >“法”));
的setLabels ()
与现有的方法合并值。
setDefault ()
,getDefault ()
,setDefaults ()
,getDefaults ()
的setDefault ()
,getDefault ()
,setDefaults ()
,getDefaults ()
方法管理嵌入式小部件的默认值。他们是代理方法getDefault ()
和setDefault ()
小部件的方法。
ws美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText()));ws美元- >setDefault(“名字”,“法”);/ /相当于ws美元(“名字”]- >setDefault(“法”);/ /或ws美元- >setDefaults(数组(“名字”= >“法”));
的setDefaults ()
与现有的方法合并值。
setHelp ()
,setHelps ()
,getHelps ()
,getHelp ()
的setHelp ()
,setHelps ()
,getHelps ()
,getHelp ()
管理方法与嵌入式部件相关的帮助信息:
ws美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText()));ws美元- >setHelp(“名字”,“法”);/ /相当于ws美元- >setHelps(数组(“名字”= >“法”));
的setHelps ()
与现有的方法合并值。
getPositions ()
,setPositions ()
,moveField ()
部件模式命令中包含的字段。订单可以被改变moveField ()
方法:
ws美元=新sfWidgetFormSchema(数组(“first_name”= >新sfWidgetFormInputText(),“last_name”= >新sfWidgetFormInputText()));ws美元- >moveField(“first_name”,sfWidgetFormSchema::后,“last_name”);
常数如下:
sfWidgetFormSchema::第一
最后sfWidgetFormSchema::
之前sfWidgetFormSchema::
后sfWidgetFormSchema::
也可以改变位置的一切setPositions ()
方法:
ws美元- >setPositions(数组(“last_name”,“first_name”));
sfWidgetFormSchemaDecorator
的sfWidgetFormSchemaDecorator
小部件是一个代理小部件模式包装形成小部件在一个给定的HTML代码片段:
ws美元=新sfWidgetFormSchema(数组(“名字”= >新sfWidgetFormInputText()));wd美元=新sfWidgetFormSchemaDecorator(ws美元,表>的< % % > < /表内容的);
请注意
这个小部件内部使用symfony当形式嵌入到另一个地方。ob娱乐下载
这项工作在Creative Commons许可Attribution-Share都3.0 Unported许可执照。