herwaldi Posted November 21, 2016 Share Posted November 21, 2016 Witam,mam problem w sklepie Presta - po wejściu na wersję ENG strony gdy chcę zmienić walutę na PLN nie zmienia się. Jakieś porady? Również przy zmianie na PL stronie walutę na Euro również zero reakcji. Link to comment Share on other sites More sharing options...
herwaldi Posted November 24, 2016 Author Share Posted November 24, 2016 Czy ktoś może pomóc nam w rozwiązaniu? Link to comment Share on other sites More sharing options...
Krystian Podemski Posted November 25, 2016 Share Posted November 25, 2016 Jaka wersja PrestaShop? Jakiś adres sklepu? Jakieś dodatkowe informacje na tematy takie jak hosting, metoda cache z zakładki "Wydajność"? Link to comment Share on other sites More sharing options...
herwaldi Posted November 28, 2016 Author Share Posted November 28, 2016 Wersja sklepu 1.6.1.5 VPS na ovh screeny z zakładki http://iv.pl/images/82598597752638719231.jpg http://iv.pl/images/00971088033716994178.jpg http://iv.pl/images/50360175396683882382.jpg adres wegirls . com Link to comment Share on other sites More sharing options...
e_com Posted November 28, 2016 Share Posted November 28, 2016 Moduł zmieniacza walut jest zrobiony w javascript. Spróbuj w opcjach CCC wyłączyć "Przenieś JavaScript na koniec". Link to comment Share on other sites More sharing options...
herwaldi Posted November 28, 2016 Author Share Posted November 28, 2016 Nic to nie dało Link to comment Share on other sites More sharing options...
e_com Posted November 28, 2016 Share Posted November 28, 2016 Już doszedłem o co chodzi. Waluty są na sztywno przypisane do języka PL= PLN, GB = EUR. Może to być realizowane jakimś modułem lub modyfikacją klasy FrontController. A modyfikacja może być na chama w core, albo elegancko poprzez override. Zajrzyj do katalogu /override/classes/controller/ czy jest tam plik FrontController.php Link to comment Share on other sites More sharing options...
herwaldi Posted November 28, 2016 Author Share Posted November 28, 2016 w ścieżce: /override/controllers/front są tylko: AddressController, Cart, Identify. Link to comment Share on other sites More sharing options...
e_com Posted November 28, 2016 Share Posted November 28, 2016 Nie /override/controllers/ Tylko /override/classes/controller/ I porównaj ten plik: https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/controller/FrontController.php ze swoim w sklepie, czy nie ma jakichś modyfikacji za linią: $currency = Tools::setCurrency($this->context->cookie); Link to comment Share on other sites More sharing options...
herwaldi Posted November 28, 2016 Author Share Posted November 28, 2016 Porównałem i wszystko się zgadza, jest 1:1 Link to comment Share on other sites More sharing options...
endriu107 Posted November 28, 2016 Share Posted November 28, 2016 Sprawdź jeszcze takie pliki: /override/controllers/front/ChangeCurrencyController.php /override/classes/Tools.php Jeśli ich nie masz w override to sprawdź w ich lokalizacjach pierwotnych czy były zmiany. Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 Posiadam obydwa pliki, lecz nie moge jej znaleźć w Preście z githuba Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 W oryginalnej preście w override nie ma nic, bo presta nie potrzebuje nadpisywać sama siebie W overridach umieszcza się modyfikacje własne kontrolerów lub klas presty. I w override nie siedzi np. cały kontroler, tylko selektywnie funkcje które są modyfikowane lub nowe które są dodawane. Następny problem to, że ten sam kontroler może być modyfikowany przez wiele modułów i całkowite wywalenie go może spowodować błędy w innych modułach. ChangeCurrencyController zawiera tylko jedną funkcję, możesz ją wrzucić na forum? (z tego kontrolera w override) Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 (edited) http://paste.ofcode.org/Sy6StRMxhmedkftiknWApP jest jedna funkcja, 1:1 jak w oryginale Edited November 29, 2016 by herwaldi (see edit history) Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 To możesz spokojnie skasować ten kontroler z override, bo nic nie robi. Zresztą i tak jest w nim błąd. Jest: class ChangeCurrencyControllerCore extends FrontController A powinno być: class ChangeCurrencyController extends ChangeCurrencyControllerCore A co masz w /override/classes/Tools.php? Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 Gdy usuwam kontroler nie działa wgl zmiana walut - tzn zero przeładowania, gdy poprawiam classę na: ChangeCurrencyController extends ChangeCurrencyControllerCore To również nie działa zmiana - również zero przeładowania, gdy wbijam w konsole setCurrency to wysypuje: POST index.php?controller=change-currency&id_currency=2 500 (Internal Server Error) Co do pliku Tools http://paste.ofcode.org/dtFvE5GLq73DpaEz8Lvvnh Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 Zapomniałem napisać wyżej, że po zmianach w override należy zawsze skasować: /cache/class_index.php Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 To nadpisanie Tools też jest bez sensu, bo funkcja convertPrice jest identyczna jak w oryginalnej preście. Istnieje jeszcze możliwość, że ta modyfikacja nie jest wcale realizowana przez overridy, tylko przez javascript w modułach zmiany języka i waluty. Możesz to szybko sprawdzić: Zaawansowane -> Wydajność Wyłącz wszystkie nadpisywania - TAK Jeśli nadal będzie język na sztywno z walutą spięty, to nie jest to w overridach. Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 (edited) Nadpisywanie pomogło, ale zapewne coś może mi się teraz wysypać Edited November 29, 2016 by herwaldi (see edit history) Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 Oczywiście, że takie globalne wyłączenie nadpisań jest złym rozwiązaniem, bo można rozwalić moduły wykorzystujące tę funkcjonalność. Ale już wiesz gdzie szukać problemu Szukaj w overridach funkcji modyfikujących currency i language. Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 Oczywiście, że takie globalne wyłączenie nadpisań jest złym rozwiązaniem, bo można rozwalić moduły wykorzystujące tę funkcjonalność. Ale już wiesz gdzie szukać problemu Szukaj w overridach funkcji modyfikujących currency i language. Hmm a mógłbyś pomóc nakierować, co może być odpowiedzialne bądź choćby jakie foldery przeszukać? Link to comment Share on other sites More sharing options...
e_com Posted November 29, 2016 Share Posted November 29, 2016 Po kolei wszystko w overridach. Trudno tak telepatycznie wywnioskować jaką koncepcję miał ktoś robiący tę modyfikację. Dróg do tego samego celu mogą być setki. Link to comment Share on other sites More sharing options...
herwaldi Posted November 29, 2016 Author Share Posted November 29, 2016 Znalazłem - zamykam Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now