1

我使用了“doctrine:generate-admin”任务。一切正常,但我想使用 generator.yml 文件在那里取消设置一些表单字段,而不必在 Form 类本身中取消设置它们。像“updated_at”这样的东西我只需要在更新对象时保存,但我不希望它们显示在任何表单上,因此我不会收到任何表单验证错误。

这可能吗?我在生成器的参考页面上找不到任何可以让我这样做的东西,字段配置似乎只允许更改标签/凭据等。

4

3 回答 3

6

您只需选择要显示的字段:

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() 方法)。

于 2011-01-12T15:39:47.980 回答
2

尝试这个:

config:
  list:
    hide: [created_at, updated_at]

http://www.symfony-project.org/reference/1_4/en/06-Admin-Generator#chapter_06_sub_hide

于 2011-01-12T17:04:19.197 回答
1

除了隐藏管理模块的 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']);
}
于 2012-10-04T20:42:31.940 回答