Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Zend_Navigation - linki z innych języków
KrzysiekWildfire
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 11
Dołączył: 27.10.2010
Skąd: Kutno/Poznań

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


Witam,

Mam taki problem: zmianę języków wykonuję ajaxowo (rozwiązanie tymczasowe, będzie na subdomenach) - wywołuje $.post (jQuery) controler lang gdzie następuje zmiana języka (przyjmijmy że z pl_PL na en_GB) i po odświeżeniu strony niestety pokazuje mi, że strona nie istnieje - jest to spowodowane tym, że linki są tłumaczone i strona w języku polskim "/o-nas/po-pracy" nie istnieje w wersji angielskiej gdzie odpowiednikiem jest "/about-us/after-work". Rozwiązanie o którym myślę, to pobranie aktualnego adresu z Zend_Navigation dla wszystkich wersji językowej i przy zmianie języka wybrać właśnie ten link na który język zmieniono (sprawdzenie url'a z aktualnym adresem wykorzystuje do wstawienia rel="canonical" i sprawdza się bardzo dobrze). Przeniesienie użytkownika na stronę główną odpada.

Mam nadzieję, że ktoś miał już taki problem, i będzie w stanie podesłać mi rozwiązanie.

Pozdrawiam

Znalazłem rozwiązanie: dla osób które będą miały kiedykolwiek z tym problem. Jako jeden z parametrów przekazywany do helpera należy przekazać @locale. Co ciekawe wywołanie helpera z kontrolera ($this->_helper->url(...)) i przekazanie mu powyższego parametru nie działa (linki nie są tłumaczone) - należy użyć następującego kodu aby znaleźć link w innej wersji:

  1. $router = Zend_Controller_Front::getInstance()->getRouter();
  2. $router->assemble(array(...),'sciezka');


Liczę, że komuś się to kiedyś przyda.
Do zamknięcia.
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: 22.08.2025 - 15:45