DoctrineExtensions переводимые в ZF2 — как и где я могу установить DefaultLocale

Я застрял с $ defaultLocale TranslatableListener.

https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#default-locale

Я нашел только возможности настройки для Symphony, но не для Zend Framework 2.

Существует пакет расширений для doctrine для простой настройки DoctrineExtensions с именем «StofDoctrineExtensionsBundle», но я не нашел ничего подобного для ZF2.

Следующая ссылка показывает рекомендации по настройке переводимых и других DoctrineExtensions, но где я должен их разместить, и нет ли более легкого подхода?

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/annotations.md#best-practices-for-setting-up-with-annotations

Я только хочу знать, как я могу настроить $ defaultLocale TranslatableListener в среде ZF2.

ОБНОВИТЬ:

Я попробовал в моей начальной загрузке следующее:

$translatableListener = new TranslatableListener();
$translatableListener->setDefaultLocale('de-DE');
$doctrineEventManager->addEventSubscriber($translatableListener);

Но все же получаю:

…/vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/TranslatableListener.php:464 Gedmo \ Transurable \ Mapping \ Event \ Adapter \ ORM-> loadTranslations

$object Rental\Entity\Rental
$translationClass "Rental\Entity\RentalTranslation"$locale "en_US"$objectClass "Rental\Entity\Rental"

0

Решение

Поэтому моя ошибка заключалась в том, что я дважды настраивал 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);

Если вы хотите установить DefaultLocale и TranslatableLocale в Zend Framework 2 для расширения Transurable Doctrine, то сделайте это в начальной загрузке и не добавьте его второй раз в конфигурации доктрины.

1

Другие решения

Если вы хотите сохранить:

'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/a/42859119/3661592

0

По вопросам рекламы [email protected]