Jump to content

Dwujęzyczny sklep, funkcja multisklepu i końcówki URL. Czy dobrze się za to zabieram?


finnenhawke

Recommended Posts

Tworzę sklep na PrestaShop 1.7.5.0, który będzie dostępny w dwóch językach - polskim i angielskim. Zmiana języka ma następować ręcznie poprzez wybranie go z rozwijanego menu przez klienta LUB poprzez bezpośrednie wejście na adres z dopiskiem /en lub /pl na końcu.

Sklep polski będzie pod adresem np. prestashop.test/pl

Sklep angielski będzie pod adresem np. prestashop.test/en

To jednak nie wszystko. Na sklepach mają być różne produkty w zależności od wersji językowej. I tu jest problem, gdyż PrestaShop nie ma, niestety, opcji ukrywania poszczególnych produktów na konkretnych wersjach językowych (a przynajmniej tego nie widzę). Pomyślałem więc, że najlepszym rozwiązaniem jest skorzystanie z funkcji multisklepu. Ustawiłem więc multisklep w taki sposób:

Sklep 1 (Polski): Nazwa: "Prestashop PL" - adres: "prestashop.test", wirtualny URL: "/pl", finalny adres: "prestashop.test/pl/"

Sklep 2 (Angielski): Nazwa: "Prestashop EN - adres: "prestashop.test", wirtualny URL: "/en", finalny adres: "prestashop.test/en/"

Następnie przełączyłem się do ustawień językowych Presty (zakładka "Międzynarodowy > Lokalizacja > Języki") i dla sklepu polskiego wybrałem tylko możliwość działania po polsku (wyłączyłem angielski), natomiast dla sklepu angielskiego zrobiłem na odwrót - wyłączyłem język polski i pozostawiłem tylko angielski. Dostosowałem też domyślne ustawienia językowe dla każdego ze sklepów i wyłączyłem automatyczne ustawianie języka na podstawie przeglądarki. Generalnie zasada jest prosta - /pl ma mieć TYLKO język polski, a /en TYLKO język angielski + możliwość ustawiania osobnych produktów.

Teoretycznie działa to dobrze. Język zmienia się poprzez zmianę końcówki w adresie URL, w źródle strony widzę również, że atrybut lang jest ustawiony poprawnie dla każdej wersji językowej. Problem w tym, że przez to rozwiązanie nie wyświetla mi się teraz przełącznik języków, bo dla każdego sklepu ustawiłem tylko jeden dostępny język. Da się jakoś do tego rozwiązania dodać przełącznik językowy? Czy w ogóle dobrze się za to zabieram? Czy to jest prawidłowa implementacja, gdy chcę mieć różne produkty na różnych wersjach językowych, czy jest jakieś prostsze rozwiązanie?

Link to comment
Share on other sites

No właśnie tak myślałem, żeby finalnie w szablonie dodać na górnym pasku ikonki z flagami i podlinkować je do /pl/ oraz /en/. Co prawda przełączanie języka zawsze będzie przenosić na stronę główną danej wersji językowej, ale skoro docelowo większość produktów będzie inna, to nie będzie to raczej problemem. Dzięki za opinie :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...