发电机。y米l Configuration File
symfony的管理生成器允许为模型类创建后端ob娱乐下载接口。无论你使用推进还是教条作为你的ORM,它都是有效的。
创建
管理生成器模块由推动:generate-admin
或原则:generate-admin
任务:
$ php ob娱乐下载symfony驱动:生成-admin后端文章
上面的命令创建一个文章
的管理生成器模块文章
模型类。
请注意
的generator.yml
配置文件缓存为PHP文件;进程自动地由sfGeneratorConfigHandler
类.
配置文件
这样一个模块的配置可以在应用程序/后端/模块/模型/文章/ generator.yml
文件:
generator: class: sfPropelGenerator param: #参数数组
该文件包含两个主要条目:类
而且参数
.这门课是sfPropelGenerator
用于驱动和sfDoctrineGenerator
为原则。
的参数
项包含生成模块的配置选项。的model_class
定义绑定到此模块的模型类,以及主题
选项定义要使用的默认主题。
但主要的配置是在下面完成的配置
条目。它分为七个部分:
行动
:在列表和表单上找到的操作的默认配置字段
:字段的默认配置列表
:列表的配置过滤器
:过滤器的配置形式
:新/edit表单的配置编辑
:编辑页面的特定配置新
:新页面的具体配置
当第一次生成时,所有的section都被定义为空,因为管理生成器为所有可能的选项定义了合理的默认值:
Generator: param: config: actions: ~ fields: ~ list: ~ filter: ~ form: ~ edit: ~ new: ~
类自定义管理生成器的所有可能选项,本文档将介绍配置
条目。
请注意
所有选项都可用于推进和学说,如果没有另行说明,工作相同。
字段
许多选项以字段列表作为参数。字段可以是真实的列名,也可以是虚拟的列名。在这两种情况下,必须在模型类中定义getter (得到
以驼峰式大小写字段名作为后缀)。
基于上下文,管理生成器足够聪明,知道如何呈现字段。要自定义呈现,可以创建部分或组件。按照惯例,部分字符以下划线(_
),并由波浪号(~
):
显示:[_title, ~content]
在上面的例子中,标题
字段将由标题
偏微分,而内容
由内容
组件。
管理生成器将一些参数传递给部分和组件:
为
新
而且编辑
页面:形式
:与当前模型对象相关联的表单属性
:应用于小部件的HTML属性数组
为
列表
页面:类型
:列表
MODEL_NAME
:当前对象实例,其中MODEL_NAME
在生成器选项中设置的单数名称。如果没有定义显式的值,奇异名称将默认为模型类名的下划线版本(即CamelCase变成camel_case)
在一个编辑
或新
页面,如果你想保持两列布局(字段标签和小部件),部分或组件模板应该遵循以下模板:
< div类=“sf_admin_form_row”>
对象占位符
一些选项可以接受模型对象占位符。占位符是遵循以下模式的字符串:% % % %的名字
.的的名字
String可以是任何可以转换为有效对象getter方法的东西(得到
的驼峰形式的后缀的名字
字符串)。例如,% % % %
会被价值所取代吗文章- > getTitle ()
.占位符值在运行时根据与当前上下文关联的对象动态替换。
提示
当一个模型有指向另一个模型的外键时,Propel和Doctrine为相关对象定义一个getter。对于任何其他getter,如果您定义了有意义的getter,则可以将其用作占位符__toString ()
方法,将对象转换为字符串。
配置继承
管理生成器配置基于配置级联原则。继承规则如下:
新
而且编辑
继承形式
继承自字段
列表
继承自字段
过滤器
继承自字段
凭证
类型的用户凭据,可以隐藏管理生成器中的操作(在列表上和表单上)凭证
选项(见下文)。但是,即使链接或按钮没有出现,操作仍然必须得到适当的保护,以防止非法访问。管理生成器中的凭据管理只负责显示。
的凭证
选项还可用于隐藏列表页面上的列。
行为定制
当配置不够时,你可以覆盖生成的方法:
方法 | 描述 |
---|---|
executeIndex () |
列表 视图操作 |
executeFilter () |
更新过滤器 |
executeNew () |
新 视图操作 |
executeCreate () |
创建一个新记录 |
executeEdit () |
编辑 视图操作 |
executeUpdate () |
更新记录 |
executeDelete () |
删除记录 |
executeBatch () |
执行批处理操作 |
executeBatchDelete () |
执行_delete 批处理操作 |
processForm () |
处理记录表单 |
getFilters () |
返回当前筛选器 |
setFilters () |
设置筛选器 |
getPager () |
返回列表分页器 |
getPage () |
获取寻呼机页面 |
setPage () |
设置寻呼机页面 |
buildCriteria () |
构建标准 查看列表 |
addSortCriteria () |
添加排序标准 查看列表 |
getSort () |
返回当前排序列 |
setSort () |
设置当前排序列 |
模板定制
每个生成的模板都可以被覆盖:
模板 | 描述 |
---|---|
_assets.php |
渲染用于模板的CSS和JS |
_filters.php |
渲染过滤器框 |
_filters_field.php |
呈现单个筛选字段 |
_flashes.php |
渲染flash消息 |
_form.php |
显示表单 |
_form_actions.php |
显示表单动作 |
_form_field.php |
显示单个表单字段 |
_form_fieldset.php |
显示表单字段集 |
_form_footer.php |
显示表单页脚 |
_form_header.php |
显示表单标头 |
_list.php |
显示列表 |
_list_actions.php |
显示列表操作 |
_list_batch_actions.php |
显示列表批处理操作 |
_list_field_boolean.php |
在列表中显示一个布尔字段 |
_list_footer.php |
显示列表页脚 |
_list_header.php |
显示列表头 |
_list_td_actions.php |
显示某一行的对象操作 |
_list_td_batch_actions.php |
显示某一行的复选框 |
_list_td_stacked.php |
显示一行的堆叠布局 |
_list_td_tabular.php |
显示列表的单个字段 |
_list_th_stacked.php |
显示标题的单个列名 |
_list_th_tabular.php |
显示标题的单个列名 |
_pagination.php |
显示列表分页 |
editSuccess.php |
显示了编辑 视图 |
indexSuccess.php |
显示了列表 视图 |
欧宝平台是合法的吗newSuccess.php |
显示了新 视图 |
外观和感觉定制
管理生成器的外观可以很容易地调整,因为生成的模板定义了很多类
而且id
HTML属性。
在编辑
或新
页面中,每个字段的HTML容器都有以下类:
sf_admin_form_row
- 一个取决于字段类型的类:
sf_admin_text
,sf_admin_boolean
,sf_admin_date
,sf_admin_time
,或sf_admin_foreignkey
. sf_admin_form_field_COLUMN
在哪里列
是列名
在列表
页面中,每个字段的HTML容器都有以下类:
- 一个取决于字段类型的类:
sf_admin_text
,sf_admin_boolean
,sf_admin_date
,sf_admin_time
,或sf_admin_foreignkey
. sf_admin_form_field_COLUMN
在哪里列
是列名
可用配置选项
字段
的字段
节为每个字段定义默认配置。此配置是为所有页面定义的,并且可以在每个页面的基础上重写(列表
,过滤器
,形式
,编辑
,新
).
标签
默认的:人性化的列名
的标签
选项定义字段要使用的标签:
config: fields: slug: {label: "URL快捷方式"}
帮助
默认的:没有
的帮助
选项定义要为字段显示的帮助文本。
属性
默认的:数组()
的属性
option定义了要传递给小部件的HTML属性:
配置:fields: slug: {attributes: {class: foo}}
凭证
默认的:没有
的凭证
选项定义要显示字段的用户必须拥有的凭据。仅对对象列表强制执行凭据。
配置:fields: slug: {credentials: [admin]} is_online: {credentials: [[admin, moderator]]}
请注意
中的规则定义凭据security.yml
配置文件。
渲染器
默认的:没有
的渲染器
option定义了要调用的PHP回调来呈现字段。如果定义了,它将覆盖任何其他标志,如部分标志或组件标志。
属性定义的字段值和参数调用回调函数renderer_arguments
选择。
renderer_arguments
默认的:数组()
的renderer_arguments
选项定义要传递给渲染器
PHP回调时呈现字段。它仅用于渲染器
选项被定义。
类型
默认的:文本
对于虚拟列
的类型
选项定义列的类型。默认情况下,symfonob娱乐下载y使用模型定义中定义的类型,但如果创建虚拟列,则可以覆盖默认值文本
输入一个有效的类型:
ForeignKey
布尔
日期
时间
文本
枚举
(只适用于教义)
date_format
默认的:f
的date_format
选项定义显示日期时使用的格式。格式可以是sfDateFormat
类。当字段类型为时,不使用此选项日期
.
以下令牌可用于该格式:
G
:时代y
:一年米
:我的d
: mdayh
: Hour12H
:小时米
:分钟年代
:秒E
: wdayD
: ydayF
: DayInMonthw
: WeekInYearW
: WeekInMonth一个
:真k
: HourInDayK
: HourInAMPMz
:时区
行动
框架定义了几个内置操作。它们都以下划线(_
).每个操作都可以使用本节中描述的选项进行定制。类中定义操作时,可以使用相同的选项列表
,编辑
,或新
条目。
标签
默认的:动作键
的标签
选项定义操作要使用的标签。
行动
默认的:根据动作名定义
的行动
选项定义要执行的操作名称执行
前缀。
凭证
默认的:没有
的凭证
选项定义要显示的操作用户必须拥有的凭据。
请注意
类中定义凭据的规则与security.yml
配置文件。
列表
标题
默认的:以List结尾的人性化模型类名
的标题
选项定义列表页面的标题。
显示
默认的:所有模型列,按照它们在模式文件中定义的顺序
的显示
选项定义要在列表中显示的有序列的数组。
等号(=
)是一种惯例,用于将字符串转换为指向编辑
当前对象的页。
配置:list: display: [=name, slug]
请注意
另请参阅隐藏
选项隐藏一些列。
隐藏
默认的:没有
的隐藏
选项定义要从列表中隐藏的列。属性指定要显示的列,而不是显示
选项,有时隐藏一些列会更快:
配置:列表隐藏:[created_at, updated_at]
请注意
如果两者都显示
和隐藏
提供了选项隐藏
选项被忽略。
布局
默认的:表格
可能的值:表格
或堆放
的布局
选项定义用于显示列表的布局。
与表格
布局中,每个列的值都在自己的表列中。
与堆放
布局中,每个对象都由单个字符串表示,该字符串由参数个数
选项(见下文)。
请注意
的显示
选项时仍然需要堆放
布局,因为它定义了将由用户排序的列。
参数个数
默认值:没有
的参数个数
选项用于定义HTML字符串模式,当使用堆放
布局。这个字符串可以包含模型对象占位符:
Config: list: params: | %%title%%由%%author%%编写并发布在%% publhed_at %%。
等号(=
)是一种惯例,用于将字符串转换为指向编辑
当前对象的页。
排序
默认值:没有
的排序
选项定义默认排序列。它是一个由两个组件组成的数组:列名和排序顺序:asc
或desc
:
配置:list: sort: [publhed_at, desc]
max_per_page
默认值:20.
的max_per_page
选项定义在一个页面上显示的对象的最大数量。
pager_class
默认值:sfPropelPager
用于驱动和sfDoctrinePager
为原则
的pager_class
选项定义显示列表时要使用的寻呼机类。
batch_actions
默认值:{_delete: ~}
的batch_actions
选项定义可为列表中选定的对象执行的操作列表。
如果你不定义行动
,管理生成器将查找以驼峰式大小写名称命名的方法executeBatch
.
方法接收所选对象的主键id
请求参数。
提示
批处理动作特性可以通过设置该选项为空数组来禁用:{}
object_actions
默认值:{_edit: ~, _delete: ~}
的object_actions
Option定义了可以在列表的每个对象上执行的操作列表:
object_actions: moveUp: {label: "move up", action: "moveUp"} moveDown: {label: "move down", action: "moveDown"} _edit: ~ _delete: ~
如果你不定义行动
,管理生成器将查找以驼峰式大小写名称命名的方法executeList
.
提示
对象动作特性可以通过将选项设置为空数组来禁用:{}
行动
默认值:{_new: ~}
的行动
Option定义不带对象的操作,比如创建新对象。
如果你不定义行动
,管理生成器将查找以驼峰式大小写名称命名的方法executeList
.
提示
对象动作特性可以通过将选项设置为空数组来禁用:{}
peer_method
默认值:doSelect
的peer_method
选项定义要调用的方法,以检索要显示在列表中的对象。
谨慎
此选项仅适用于Propel。对于Doctrine,使用table_method
选择。
table_method
默认值:doSelect
的table_method
选项定义要调用的方法,以检索要显示在列表中的对象。
谨慎
此选项仅适用于Doctrine。对于Propel,使用peer_method
选择。
peer_count_method
默认值:doCount
的peer_count_method
选项定义要调用的方法,以计算当前筛选器的对象数量。
谨慎
此选项仅适用于Propel。对于Doctrine,使用table_count_method
选择。
table_count_method
默认值:doCount
的table_count_method
选项定义要调用的方法,以计算当前筛选器的对象数量。
谨慎
此选项仅适用于Doctrine。对于Propel,使用peer_count_method
选择。
过滤器
的过滤器
节定义列表页上显示的筛选表单的配置。
显示
默认值:过滤器表单类中定义的所有字段,按其定义的顺序
的显示
选项定义要显示的字段的有序列表。
提示
由于筛选字段总是可选的,因此不需要重写筛选表单类来配置要显示的字段。
类
默认值:模型类名的后缀FormFilter
的类
类使用的表单类过滤器
的形式。
提示
若要完全删除过滤功能,请设置类
来假
.
形式
的形式
类的备用项存在编辑
而且新
节(请参阅介绍中的继承规则)。
请注意
表格部分(形式
,编辑
,新
),标签
而且帮助
选项覆盖表单类中定义的选项。
显示
默认值:在表单类中定义的所有字段,按照它们定义的顺序
的显示
选项定义要显示的字段的有序列表。
此选项还可以用于将字段分组:
#应用/后端/模块/模型/ config /发电机。y米l config: form: display: Content: [title, body, author] Admin: [is_published, expires_at]
上述配置定义了两个组(内容
而且管理
),每个都包含一个表单字段的子集。
谨慎
模型表单中定义的所有字段都必须显示在显示
选择。否则,可能会导致意外的验证错误。
类
默认值:模型类名的后缀形式
的类
类使用的表单类编辑
而且新
页面。
提示
即使你可以定义a类
选项中的新
而且编辑
部分,最好使用一个类,并使用条件逻辑处理差异。
编辑
的编辑
节的选项与形式
部分。
标题
默认的:“Edit”以人性化的模型类名作为后缀
的标题
选项定义编辑页的标题标题。它可以包含模型对象占位符。
行动
默认值:{_delete: ~, _list: ~, _save: ~}
的行动
选项定义提交表单时可用的操作。
新
的新
节的选项与形式
部分。
标题
默认的:以人性化的模型类名作为后缀的“New”
的标题
选项定义新页面的标题。它可以包含模型对象占位符。
提示
即使对象是新的,它也可以具有您希望作为标题的一部分输出的默认值。
行动
默认值:{_delete: ~, _list: ~, _save: ~, _save_and_add: ~}
的行动
选项定义提交表单时可用的操作。
本作品在创作共用署名相似共享3.0未移植许可许可下获得许可。