Jump to content

Problem z walutami


herwaldi

Recommended Posts

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

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

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

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

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

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

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

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...