新在symfo欧宝娱乐app下载地址ny 1.2:管理员生成器
今天,我合并了new_admin
分支到1.2
一个,这意味着symfony 1.2现在体育欧宝娱乐app下载地址一个全新的管理发电机,基于形式框架。
在这篇文章中,我将只描述新管理发电机的一般概念。的章管理发电机在欧宝娱乐app下载地址symfony的书已经更新,你可以马上开始阅读它。
第一个好消息是,新的管理发电机欧宝app在哪里找非常类似于上一个。即使它不是向后兼容的,它使用新形式框架,仍由配置generator.yml
配置文件,配置可能性非常相似。我也试图保持相同的哲学帮助当前的用户更容易学习新工具。
一个简单的CMS为例
为了说明这篇文章,让我们这个例子我已经使用以前的文章:
推动:demo_article: id: ~ author_id:{类型:整数,foreignReference: id、foreignTable: demo_author, onDelete:级联,onUpdate:级联,要求:真实}状态:{类型:varchar(255),要求:真实}标题:{类型:varchar(255),要求:真实}内容:{类型:用longvarchar,要求:真}is_on_homepage:布尔published_at:时间戳created_at:时间戳updated_at:时间戳demo_category: id: ~名字:varchar (255) demo_author: id: ~名字:varchar (255) demo_tag: id: ~名字:varchar (255) demo_tag_article: tag_id:{类型:整数,primaryKey:真的,foreignReference: id、foreignTable: demo_tag, onDelete:级联,onUpdate:级联,要求:真实}article_id:{类型:整数,primaryKey:真的,foreignReference: id、foreignTable: demo_article, onDelete:级联,onUpdate:级联,要求:真实}demo_category_article: category_id添加:{类型:整数,primaryKey:真的,foreignReference: id、foreignTable: demo_category, onDelete:级联,onUpdate:级联,要求:真实}article_id:{类型:整数,primaryKey:真的,foreignReference: id、foreignTable: demo_article, onDelete:级联,onUpdate:级联,要求:真正的}
这是一个经典的模式为一个简单的CMS。文章作者,可以有多个标签和类别。
一个REST架构
基于驱动模型,symfony能够生成相关管理模块:欧宝娱乐app下载地址
php sy欧宝娱乐app下载地址mfony推动美元:generate-admin端DemoArticle——模块=
的推动:generate-admin
任务创建一个文章
模块的后端
应用程序模块
目录中。
我们可以做同样的生成的模块DemoCategory
模型:
php sy欧宝娱乐app下载地址mfony推动美元:generate-admin端DemoCategory——模块=类别
更多的开箱即用的
配置生成的模块之前,让我们看一看开箱即用的特性。
的类别
列表中有几个有趣的特性:
- 每个类别
id
的链接吗编辑
视图 - 去的“新”链接
新
视图创建一个新的类别 - 每个类别都有一个“编辑”和“删除”链接
- 可能删除类别选择几类
上面的截图是创建的默认过滤箱文章
模型。注意,新管理发电机自动创建过滤器外键和多对多的关系。
的编辑
观点也很有趣的所有字段可编辑,甚至许多许多之间的关系文章
模型和标签
和类别
模型。
这个视图中使用默认的形式生成的类文章
类,验证也默认启用:
为最终用户更好的可用性,新的管理发电机也使用大量的闪存上的消息列表
和编辑
视图:
更多的可配置性
开箱即用的,生成的模块已经相当强大,但真正的力量管理发电机一直是它的可配置性,你可以改变管理视图的显示而无需编写一行代码。新管理发电机也不例外。让我们看看您可以使用的选项generator.yml
配置文件。
首先,generator.yml
现在文件比以前更安全的symfony验证文件的格式。欧宝娱乐app下载地址它会节省你很多时候的错误或错误的缩进。对于这个验证工作,我们都已经配置下配置
条目。这是默认的generator.yml
配置文件的类别
模块:
发电机:类:sfPropelGenerator参数:model_class: DemoCategory主题:管理non_verbose_templates:真正的with_show:虚假奇异:~复数:~ route_prefix:类别with_propel_route: 1配置:行动:~:~列表:~过滤器:~形式:~编辑:~新:~
您可能已经注意到新
条目。新管理发电机实现一个请求的功能,可能有不同的配置编辑
和新
的观点。是的,这是可能的,这两种观点都从虚拟继承形式
观点:
配置:形式:显示:没有:[author_id,状态、published_at demo_category_article_list, demo_tag_article_list)内容:[标题、内容、is_on_homepage]新:标题:新文章编辑:标题:编辑文章标题% % % % % % # % % (id)
现在管理发电机有七个主要的条目:
行动
所有操作:定义属性,尤其是凭据字段
:定义默认字段配置列表
:定义列表视图配置过滤器
:过滤器已经为其配置自己的条目形式
:这是一个虚拟视图一样只有使用默认配置新
和编辑
配置新
:定义新视图配置编辑
:定义编辑视图配置
的generator.yml
这些条目之间的配置文件实现一些继承规则:
新
和编辑
继承自形式
它继承自字段
列表
继承自字段
过滤器
继承自字段
这是一个例子的字段定义:
配置:字段:标题:{标签:文章标题}内容:{标签:身体}:列表字段:标题:{标签:标题}形式:字段:内容:{文章的标签:身体}
如果你是用来管理发电机symfony 1.0,你会注意到欧宝娱乐app下载地址的名字
键被重命名标签
。
旧的配置文件的所有功能也仍然支持(见第14章更多的细节)。
另外,即使generator.yml
推荐的方法是配置文件定制模块,新管理发电机也可以完全定制PHP代码更动态配置(应用程序/后端/模块/文章/ lib / articleGeneratorConfiguration.class.php
)。有什么是可能的,只是看看生成的BaseArticleGeneratorConfiguration
类在缓存中(缓存/后端/ dev /模块/ autoArticle / lib / BaseArticleGeneratorConfiguration.class.php
)。你甚至可以通过混合配置generator.yml
文件和articleGeneratorConfiguration
类。
可扩展性
新管理发电机真的照时扩展默认行为。它比以前更加灵活和可扩展的。
首先,比以前有更多的模板分音,每个部分更简单,允许您调整系统的每个部分很容易:
_assets。php _filters。php _filters_field。php _flashes。php _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
行动模板被分成很多泛音更好的可读性和可扩展性:
actionsConfiguration。php batchAction。php配置。php createAction。php deleteAction。php editAction。php fieldsConfiguration。php filterAction。php filtersAction。php filtersConfiguration。php indexAction。php newAction。php paginationAction。php paginationConfiguration。php processFormAction。php sortingAction。php sortingConfiguration。php updateAction.php
如果你想调整管理生成器来创建自己的主题,或把你的扩展插件,你会发现它更容易:
- 你不需要复制所有文件创建一个新的默认主题。复制的文件你需要覆盖。
添加了几个事件添加行为而不需要创建一个新的主题。这允许几个插件添加或更改默认行为:
admin.pre_execute
:此通知之前执行任何操作。这是一个好地方来调整配置或执行之前检查些什么。admin.build_criteria
:这个事件过滤器标准
用于列表
视图。admin.save_object
:此通知后保存一个对象。admin.delete_object
:这个事件之前通知对象将被删除。
生成的操作模块已经重构提供了更多有用的方法:
getFilters ()
setFilters ()
getPager ()
getPage ()
setPage ()
buildCriteria ()
addSortCriteria ()
getSort ()
setSort ()
最好的学习方式如何推动的极限新管理发电机是浏览生成的模块在缓存中。你会发现很多美好的助手类(看一看)。
国际化
新的管理发电机支持国际化的形式,由于形式框架的使用。
管理发电机接口也翻译成几种语言。在不到24小时内,我们已经翻译了21个语言:
- 英语
- 保加利亚
- 德国
- 丹麦
- 西班牙语
- 西班牙语(阿根廷)
- 法国
- 意大利
- 日本
- 荷兰
- Novergian
- 波兰的
- Brasilian
- 俄罗斯
- 简体中文
- 斯洛伐克语
- 罗马尼亚
- 印尼
- 土耳其
- 芬兰
- 葡萄牙语
如果你想贡献为你的语言翻译,这个过程很简单,将你大约10分钟:
- 下载法国的文件和法国字符串替换所有与你的翻译(文件还包含英文字符串)
- 重命名文件与ISO语言代码
- 翻译文件发送到我的电子邮件地址
利用形式框架
的过滤器
,新
,编辑
视图的形式框架,这意味着您可以利用的所有特性的形式生成框架调整管理模块。
这是一个非常快速的技术概述新管理发电机。你想了解更多,你可以阅读发电机章symfony的书欧宝娱乐app下载地址。
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
我没有看生成的东西。从这篇文章中,书中的一章,看的一些变更集我不知道酷更高级的功能已经成为可能,如果他们计划或如果你认为他们必须实现插件/ widget /什么?
——“内联编辑”的外键表的记录
——多列排序
-我也希望得到一个更好的方法配置重定向的路线。
可能真正得到我想要的东西的唯一方法就是创建自己的发电机和主题;-)
无论如何,它看起来像一个巨大的进步!
好消息!欧宝app在哪里找谢谢你!
期待更多的伟大的事情像更好的格式支持(HTML、XML、JSON、…),多列排序,内联编辑、添加外国记录在弹出窗口中,…
欧宝娱乐app下载地址symfony 1.2现在将进入测试状态,但仍有可能使管理发电机更强大和更可配置的最终版本之前如果可能的话。随意创建门票,旧的“重新激活”,或讨论在dev邮件清单更改你想看到这个版本或下一个。
谢谢法!
我认为有一些错误的,下一节“更可配置性”:
*形式:这是一个虚拟的认为只有作为默认配置为新和视图配置
*观点:定义编辑视图配置
它说:“…视图配置”和“视图:“不该说”……编辑配置”和“编辑:“
继续工作,我期待着新版本,我真的希望它很快就会出来。
有机会生成器可以处理许多许多与载荷的关系(关系表中的字段),我问这个在论坛里但是没有回答呢?
更多的信息关于计划与在制品(1.2/1.3)是相当不错的。:-)
[1]http://groups.google.de/group/s欧宝娱乐app下载地址ymfony-devs/browse_thread/thread/b9e4a8592f608c76?hl=de
@Tiago里贝罗:我们将等待1天或2真正稳定推动版本,然后我们的工作原则。所以,s欧宝娱乐app下载地址ymfony 1.2将有新的管理发电机驱动和教义
@Matthias:网格不是过时了。我们刚刚决定时间表symfony 1.2版本,我们不得不做出选择。欧宝娱乐app下载地址网格部件仍在我们的todo列表,现在计划在symfony 1.3。欧宝娱乐app下载地址
@Enlightened:你可以发送文件,法比安。效力[在]symfony-pr欧宝娱乐app下载地址oject.com
完美,会不会少什么,我相信我不是唯一一个感觉不好,当看到你完成多少东西,我……哦:)
:阿
别取笑我们!
我面临一个问题。
一个REST架构
新管理发电机是基于REST架构。这意味着你需要创建一个REST收集路线引导一个新的管理模块。这里有一个例子DemoArticle模型和所有需要的选项:
我们需要定义溃败的规则在哪里?
请sugegst。
现在我可以开始我的项目! ! !
我希望了解更多关于科幻小说的文章1.2 ! ! !
干杯
是我还是法比Django的灵感来源于newform中将/ newforms-admin分支(现在在1.0)?
Pragmastism integrism /范式(PHP比X &等)为科幻小说绝对是一个伟大的价值。
我相信你不能假定读者熟悉休息,你甚至不能假定读者熟悉路线。
在实现方面,我的第一反应是,管理发电机应当开箱即用的功能,不让我做任何事情对路线。它不能使用例子作为默认吗?
谢谢
rccc
我新在symfony(欧宝娱乐app下载地址和在其他任何php框架),但我喜欢它,我想让我的下一个项目。
我有一个问题与管理发电机和教程:我不能找出如何让列名是链接到它的列进行排序。我可以在这里寻求帮助吗?(我问论坛)
这将是美妙的,如果教程Symfony的保持与最新的稳定版本。欧宝娱乐app下载地址
这个框架是伟大的,我希望我能以某种方式帮助后面的发展。