我的问题是我使用管理生成器为模型添加了一些额外的虚拟属性,我需要在generator.yml定义中使用:
config:
form:
display: [name, design_by, description, _images, add_image, _videos, add_video]
但是“描述”属性是在学说模型的i18n模式中它不再存在于核心模型对象中 - 转移到i18n模型中。 所以我得到逻辑错误'Widget'描述“不存在”。
我试着像:
config:
form:
display: [description_i18n]
但没有找到解决方案。
当我将表单显示定义切换为默认值时,表单开始工作,但它会错过我的额外字段_images,add_image,_videos,add_video,所以我需要在那里定义。
谷歌也没有帮助......有谁知道如何将i18n小部件定义为generator.yml? THX!
答案 0 :(得分:0)
之前我已经这样做了,我不确定这是否是您正在寻找的答案但是为了让Symfony在管理生成器中显示i18n字段,您需要在项目/ 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更改为您设置的语言。您需要为每个表单对象执行此操作。
答案 1 :(得分:0)
我遇到了同样的问题。
潜入代码,我看到i18n小部件被分组到数组中,其中key是文化名称。
所以我试着把它们设置成我的generator.yml:
form:
display:
'Name / Description (with translations)': [en, es, fr, it]
成功!!!