2

我的问题是,我正在使用管理生成器来生成具有一些额外虚拟属性的模型,我需要在 generator.yml 定义中拥有这些属性:

config:
  form:
    display: [name, design_by, description, _images, add_image, _videos, add_video]

但是“描述”属性在 i18n 模式的学说模型中,它不再存在于核心模型对象中 - 移动到 i18n 模型中。所以我得到逻辑错误'小部件“描述”不存在'。

我尝试了类似的东西:

config:
  form:
    display: [description_i18n]

但没有找到解决方案。

当我将表单显示定义剪切为默认值时,表单开始工作,但它错过了我的额外字段_images、add_image、_videos、add_video,所以我需要在那里定义。

谷歌也没有帮助......

有人知道如何将 i18n 小部件定义到 generator.yml 中吗?谢谢!

4

2 回答 2

0

我以前做过这个,我不确定这是否是你正在寻找的答案,但是为了让 Symfony 在管理生成器中显示 i18n 字段,你需要在你的 project/lib 文件夹中的每个 Form 类中添加一行。

例如,如果您在以下位置有一个 Form 类:<myproject>/lib/form/doctrine/MyForm.class.php

将其添加到配置方法中,如下所示:

  public function configure()
  {
    parent::configure();

    // Add this line.
    $this->embedI18n(array('en', 'de'));
    ...
  }

将 en 和 de 更改为您设置的语言。您需要为您拥有的每个表单对象执行此操作。

于 2010-12-20T15:06:43.723 回答
0

我有同样的问题。

深入研究代码,我看到 i18n 小部件被分组到数组中,其中键是文化名称。

所以我尝试将它们设置到我的 generator.yml 中:

form:
  display:
    'Name / Description (with translations)': [en, es, fr, it]

并且成功!!!

于 2011-05-22T11:22:14.150 回答