Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF] Translatable i ustawienie locale na podstawie sesji (services)
blackroger
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

Ostrzeżenie: (0%)
-----


Prośba o pomoc.

mam zdefiniowany dodatek w services:

  1. services:
  2. # Doctrine Extension listeners to handle behaviors
  3.  
  4. gedmo.listener.translatable:
  5. class: Gedmo\Translatable\TranslatableListener
  6. tags:
  7. - { name: doctrine.event_subscriber, connection: default }
  8. calls:
  9. - [ setAnnotationReader, [ @annotation_reader ] ]
  10. - [ setTranslatableLocale, [ %locale% ] ]
  11. - [ setTranslationFallback, [ true ] ]
  12.  


Jak zrobić aby metoda setTranslatableLocale dostawała parametr z sesyjnego getLocale? Teraz parametr jest pobierany bezpośrednio z parametrs.ini, a ja chcę aby tam trafiała wartość z sesji...

Przy wielojęzyczności zmiany krajów powinny być transparentne dla systemu i wiem, że można sobie uruchamiać setTranslatableLocale w kontrolerze, ale mi chodzi o automat i service container.

Ten post edytował blackroger 29.03.2013, 13:00:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ponieważ próbujesz odwołać się do usługi request w momencie gdy nie jest ona dostępna. Wywołanie akcji z poziomu konsoli nie tworzy usługi request, nie tworzy w ogóle całego zasięgu request. Co musisz zrobić? Przed zwróceniem usługi request z poziomu RequestInjectora, sprawdź czy zasięg (scope) request jest w ogóle dostępny i aktywny przy pomocy ContainerInterface::isScopeActive().

Co zrobić w przypadku gdy nie jest? Metoda getLocale() może z powodzeniem zwrócić parametr default_locale, zaś metoda getRequest() powinna zwrócić NULL. Tutaj trzeba od razu zwrócić uwagę, że w przypadku gdy istnieje możliwość, że zamiast jakiejś usługi zostanie zwrócony NULL w definicji usługi korzystającej z owej niepewnej zależości powinno dodać się onInvalidReference=ignore.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 17:54