Potrzebuję zrobić tłumaczonego sluga. Domyślnie mam locale ustawione na pl.
$menuColl[0] = new Menu();
$menuColl[0]->setName('O nas');
$menuColl[0]->setLabel('O nas');
$manager->persist($menuColl[0]);
$manager->flush();
$menuColl[0]->setTranslatableLocale('en');
$menuColl[0]->setName('About us');
$menuColl[0]->setLabel('About us');
$manager->flush();
Według dokumentacji na stronie
https://github.com/l3pp4rd/DoctrineExtensio...oc/sluggable.md należy ustawić listener sluggable przed listenerem translatable.
w services.yml mam:
gedmo.listener.sluggable:
class: Gedmo\Sluggable\SluggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
gedmo.listener.translatable:
class: Lib\Service\TranslatableListenerService
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
- [ setTranslatableLocale, [ @request_injector ] ]
- [ setTranslationFallback, [ true ] ]
Może ktoś mi pomóc? Co jest nie tak? Dokumentacja mówi:
$evm = new \Doctrine\Common\EventManager();
$sluggableListener = new \Gedmo\Sluggable\SluggableListener();
$evm->addEventSubscriber($sluggableListener);
$translatableListener = new \Gedmo\Translatable\TranslationListener();
$translatableListener->setTranslatableLocale('en_us');
$evm->addEventSubscriber($translatableListener);
Co robię nie tak?

Czy moje services.yml nie odzwierciedla dokładnie powyższego kodu??
Jest ktoś w stanie pomóc?
Ehhh udało mi się dojść do sprawy... należało dać serwis gedmo.listener.translatable całkowicie na końcu (po wszystkich innych subscriberach), a nie tylko po sluggable.
Przykład:
gedmo.listener.sluggable:
class: Gedmo\Sluggable\SluggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
gedmo.listener.sortable:
class: Gedmo\Sortable\SortableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
gedmo.listener.loggable:
class: Gedmo\Loggable\LoggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
gedmo.listener.translatable:
class: Lib\EventListener\TranslatableServiceListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
- [ setTranslatableLocale, [ @request_injector ] ]
- [ setTranslationFallback, [ true ] ]
Ten post edytował blackroger 27.04.2013, 13:08:02