Zawartość artykułu
Opis problemu
Mamy tutaj na myśli ostatni etap tworzenia zamówienia na sklepie PrestaShop 1.7.
Kiedy już podamy adres dostawy – wprowadzimy wszystkie wymagane dane i potwierdzimy płatność przy odbiorze na stronie sklepu wyświetla nam się zestawienie naszego zamówienia.
Wszystko jest poprawnie przetłumaczone na język polski natomiast w metodzie płaności jest napisane: Cash on delivery ;(
Ilustruje to poniższy screen:
Problem w tym, że wykonując tłymaczenia w sklepie – sekcja:
Międzynarodowe -> Tłumaczenia -> Modyfikuj tłumaczenia -> Tłumaczenia szablonów
Międzynarodowe -> Tłumaczenia -> Modyfikuj tłumaczenia -> Tłumaczenia zainstalowanych modułów
itd. mimo poprawnego wprowadzenia tłumacznia dla frazy:
Cash on delivery —-> Płatność przy odbiorze
Dalej na tym ostatnim etapie zamówienia jest to po angielsku…
Rozwiązanie problemu
Okazuje się, że w niektórych instalacjach PrestaShop 1.7 trzeba to tłumaczenie wprowadzić w pliku. Niestety nie ma innej drogi (a przynajmniej nasz zespół jej nie zna :P)
Aby uwolnić się od tego problemu zaloguj się do FTP na serwerze (aby zobaczyc pliki) i przejdź do lokalizacji:
modules/ps_cashondelivery/controllers/front/
Otwórz plik:
validation.php
Następnie znajdź fragment typu:
$this->module->validateOrder( (int) $this->context->cart->id, (int) Configuration::getGlobalValue(Ps_Cashondelivery::CONFIG_OS_CASH_ON_DELIVERY), (float) $this->context->cart->getOrderTotal(true, Cart::BOTH), $this->trans('Cash on delivery', [], 'Modules.Cashondelivery.Shop'), null, [], (int) $this->context->currency->id, false, $customer->secure_key );
I zamień nieszczęsną linię kodu na:
$this->trans('Płatność za pobraniem', [], 'Modules.Cashondelivery.Shop'),
Po wyczyszczeniu cache sklepu i odświeżeniu – problem powinien zostać rozwiązany.
Powodzenia!
grafika: wallpaperflare.com