我使用了“doctrine:generate-admin”任务。一切正常,但我想使用 generator.yml 文件在那里取消设置一些表单字段,而不必在 Form 类本身中取消设置它们。像“updated_at”这样的东西我只需要在更新对象时保存,但我不希望它们显示在任何表单上,因此我不会收到任何表单验证错误。
这可能吗?我在生成器的参考页面上找不到任何可以让我这样做的东西,字段配置似乎只允许更改标签/凭据等。
我使用了“doctrine:generate-admin”任务。一切正常,但我想使用 generator.yml 文件在那里取消设置一些表单字段,而不必在 Form 类本身中取消设置它们。像“updated_at”这样的东西我只需要在更新对象时保存,但我不希望它们显示在任何表单上,因此我不会收到任何表单验证错误。
这可能吗?我在生成器的参考页面上找不到任何可以让我这样做的东西,字段配置似乎只允许更改标签/凭据等。
您只需选择要显示的字段:
config:
form:
display:
Content: [title, body, author]
Admin: [is_published, expires_at]
奇怪的是你没有在参考页面上找到它。给你:http ://www.symfony-project.org/reference/1_4/en/06-Admin-Generator (导航到表格->显示)。
编辑:
管理生成器使用 sfModelGeneratorConfiguration::getFormFields() 方法来检索要呈现的字段列表。如果您不指定“显示”选项,它只会占用所有字段。
是呈现所有字段还是仅呈现其中一些字段?如果它晚于您的表单中可能有一些重载(例如 configure() 方法)。
尝试这个:
config:
list:
hide: [created_at, updated_at]
http://www.symfony-project.org/reference/1_4/en/06-Admin-Generator#chapter_06_sub_hide
除了隐藏管理模块的 config/generator.yml 中的字段,如上所述,您应该在相关表单中取消设置它们。因此,如果您想隐藏 Timestampable 模型的 created_at 和 updated_at 字段,请将 lib/form/doctrine/ModelForm.class.php 中的 configure() 方法更改为
public function configure()
{
unset($this['created_at'],$this['updated_at']);
}