![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Korzystam z https://github.com/Atlantic18/DoctrineExtensions, dokładnie interesuje mnie wdrożenie do swojego projektu translatable i sluggable. Najpierw podpiąłem bez wiekszych problemów translatable, język domyślny to polski, tłumaczę na angielski i na niemiecki. Wszystko pięknie działa, dodawanie, edycja, usuwanie. Potem podpiąłem sluggable, też ładnie działa, ale jedynie z domyślnym językiem. Natomiast nie tworzy i nie zapisuje slug'ów z innych języków. Przekopałem cały internet i nie mogę znaleźć rozwiązania. Część z config.yml: Kod doctrine: dbal: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # e.g. database_path: "%kernel.root_dir%/data/data.db3" # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: # path: "%database_path%" orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true mappings: translatable: type: annotation alias: Gedmo prefix: Gedmo\Translatable\Entity # make sure vendor library location is correct dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity" Kod z services.yml: Kod parameters: # portal_cms.example.class: Portal\CmsBundle\Example services: extension.listener: class: Portal\CmsBundle\EventListener\DoctrineExtensionListener calls: - [ setContainer, [ @service_container ] ] tags: # translatable sets locale after router processing - { name: kernel.event_listener, event: kernel.request, method: onLateKernelRequest, priority: -10 } gedmo.listener.sluggable: class: Gedmo\Sluggable\SluggableListener tags: - { name: doctrine.event_subscriber, connection: default } calls: - [ setAnnotationReader, [ @annotation_reader ] ] gedmo.listener.translatable: class: Gedmo\Translatable\TranslatableListener tags: - { name: doctrine.event_subscriber, connection: default } calls: - [ setAnnotationReader, [ @annotation_reader ] ] - [ setDefaultLocale, [ %locale% ] ] - [ setTranslationFallback, [ false ] ] # portal_cms.example: # class: %portal_cms.example.class% # arguments: [@service_id, "plain_value", %parameter%] Kod z DoctrineExtensionListener.php:
Kod z encji Tag.php:
Na forum jest jakiś błąd. Nie mogłem dodać całego tematu w jednym poście, bo był za długi. Próbuje resztę dodać w odpowiedzi, to dostaje komunikat że są błędy i pustą listę błędów. Więc temat jest nie pełny, bo nie mam narazie możliwości dodania reszty Generalnie część dokumentacji znajdująca się tutaj: https://github.com/Atlantic18/DoctrineExten...nslate-our-slug jest dla mnie nie do końca jasna. Czy kod:
muszę gdzieś wstawiać, a jeśli tak to gdzie? Nie ma nigdzie takiej informacji. Z ciekawości wstawiłem go w kontrolerze w addAction i dostałem błąd, że nie można znaleźć \Gedmo\Translatable\TranslationListener(). I rzeczywiście w tej lokalizacji w Gedmo nie ma takiej klasy. Wogóle zapuściłem przeszukiwanie wszystkich plików w projekcie i nigdzie nie ma takiej klasy. Czy to pomyłka w dokumentacji, czy nie powinno tam być \Gedmo\Translatable\TranslatableListener() ? Druga sprawa, czy pole na slug w encji i w bazie powinnu się nazywać 'slug'? U mnie nazywa się inaczej, jak widać, ale slug dla języka polskiego generuje się prawidłowo. Czy może to stanowić problem w wygenerowaniu sluga dla tłumaczeń? Trzecia sprawa, czy konieczne jest dodanie w encji tych pól:
Będę wdzięczny za wszelkie odpowiedzi, może coś naprowadzi mnie na rozwiązanie tego problemu. No i nie udało mi się dodać kodu mojego kontrolera. Cały temat tutaj: http://symfonylab.pl/forum/index.php/topic,613.0.html Tam nie miałem problemu z dodaniem wszystkiego w jednym poście |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:59 |