我坚持了$defaultLocale of TranslatableListener。
https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#default-locale
我只找到了交响乐的安装可能性,但Zend 2却没有。
对于DoctrineExtensions的简单设置,有一个扩展包,名为"StofDoctrineExtensionsBundle",但我没有为ZF2找到类似的东西。
下面的链接展示了设置可翻译和其他DoctrineExtensions的最佳实践,但是我应该把它放在哪里,难道没有更简单的方法吗?
我只想知道如何在$defaultLocale环境中配置TranslatableListener的ZF2。
更新:
我尝试了以下几点:
$translatableListener = new TranslatableListener();
$translatableListener->setDefaultLocale('de-DE');
$doctrineEventManager->addEventSubscriber($translatableListener);但仍然得到:
.../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/TranslatableListener.php:464 Gedmo\Translatable\Mapping\Event\Adapter\ORM->loadTranslations
$object Rental\Entity\Rental
$translationClass "Rental\Entity\RentalTranslation"
$locale "en_US"
$objectClass "Rental\Entity\Rental"发布于 2015-02-09 16:08:56
所以我的错误是,我配置了TranslatableListener两次。
在我的学说结构中(只是为了解释,在前面有一个注释,删除整行):
'doctrine' => [
'eventmanager' => [
'orm_default' => [
'subscribers' => [
'Gedmo\Timestampable\TimestampableListener',
'Gedmo\Sluggable\SluggableListener',
// 'Gedmo\Translatable\TranslatableListener',
],
],
],在自助方面:
// sets the default locale and the actual locale
$translatableListener = new TranslatableListener();
$translatableListener->setDefaultLocale('de-DE');
$translatableListener->setTranslatableLocale(\Locale::getDefault());
$doctrineEventManager->addEventSubscriber($translatableListener);如果您想为可翻译的原则扩展在ZendFramework2中设置DefaultLocale和TranslatableLocale,那么在引导和中,不要将它第二次添加到理论配置中。
发布于 2017-03-17 13:48:30
如果你想保持:
'doctrine' => [
'eventmanager' => [
'orm_default' => [
'subscribers' => [
'Gedmo\Timestampable\TimestampableListener',
'Gedmo\Sluggable\SluggableListener',
// the line below because in future you might need it
'Gedmo\Translatable\TranslatableListener',
],
],
],https://stackoverflow.com/questions/28395946
复制相似问题