我在表单中使用 a2lix_translation_form 标签。它具有以下功能:它允许您在一个表单中编辑多个翻译到一个属性。我有这样的配置:
a2lix_translation_form:
locales: [sk, en, de] # [1]
default_required: false ... # further as default
在表单中,我有以下3个标签,我可以编辑一个属性(描述)
| SK [默认] |恩| DE |
它工作正常(存储在数据库中等等),直到我打开 stof_doctrine_extensions 中的可翻译。这是配置:
stof_doctrine_extensions:
default_locale: sk
orm:
default:
translatable: true # not needed: listeners are not enabled by default
我也使用jms_i18n_routing:
jms_i18n_routing:
default_locale: sk
locales: [sk, de, en]
strategy: prefix_except_default
当我进站时
本地主机/ app_dev.php /产品/ 1 /编辑
然后一切都很好,但是当我访问
时本地主机/ EN / app_dev.php /的 EN /公司/ 11 /编辑
Sk [默认] 包含 En 说明。
当我将stof_doctrine_extensions中的可翻译设置为false时,表单会正确显示。但我需要打开它,因为我需要它用于其他组件。我该怎么办?
答案 0 :(得分:1)
你处于一个特定的情况,我今后不建议。如果您以后更改默认语言环境,则数据库会遇到一些困难。
我已经更新了文档(我还有一些工作......),请参阅http://a2lix.fr/bundles/translation-form/#bundle-advanced的结尾。 您可以在文档中使用注释,或者在您的开头添加编辑/创建方法:
$translatableListener = $this->get('stof_doctrine_extensions.listener.translatable');
$translatableListener->setTranslatableLocale($translatableListener->getDefaultLocale());