Martin-WulkSoft Posted October 1, 2013 Share Posted October 1, 2013 Bawiłem się modułem blockspecial, dokonywałem zmian w blockspecial.php i po odświerzeniu strony widziałem zmiany. Gdy próbowałem zmienić blockspecial.tpl, który znajdował się w modules/blockspecial/ nie widziałem żadnych zmian, czyściłem plik do zera i tak widziałem blok bez zmian. Walczyłem z cachem i kompilacją, brakowało mi już pomysłów co może być nie tak, ale pomyślałem że to aż niemożliwe i wyszukałem wszystko co ma nazwę blockspecial. Okazało się że jest jeszcze inny plik blockspecial.tpl który leży w \themes\default\modules\blockspecials\ Zastanawiałem się dlaczego to zostało tu wrzucony i doszłem do wniosku że dzięki temu osoba odpowiedzialna za tworzenie wyglądu może każdego themes-a stworzyć innego tp. Czy móje wnioski są prawidłowe ? Link to comment Share on other sites More sharing options...
vekia Posted October 1, 2013 Share Posted October 1, 2013 jak najbardziej prawidłowe, cały proces nazywa się "override" więcej na ten temat możesz poczytać w dokumentacji: http://doc.prestashop.com/display/PS15/Overriding+default+behaviors Link to comment Share on other sites More sharing options...
Martin-WulkSoft Posted October 2, 2013 Author Share Posted October 2, 2013 (edited) jak najbardziej prawidłowe, cały proces nazywa się "override" więcej na ten temat możesz poczytać w dokumentacji: http://doc.prestashop.com/display/PS15/Overriding+default+behaviors Czyli jeżli chce napisać moduł, który korzysta np: z tablicy zawierającej produkty przecenione, a w klasie Product znajduje się tylko funkcja zwracająca jeden losowy produkt to mogę wziąść oryginalną klasę Product dodać swoją metodę i umieścić w lokalizacji mojego modułu /modules/my_module/override/classes/ i koszystać tak jakby ona tam była oryginalną clasą presty. Czy dobrzez zrozumiałem? Edited October 2, 2013 by chojnam (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted October 2, 2013 Share Posted October 2, 2013 tak, wszystko się zgadza Link to comment Share on other sites More sharing options...
Martin-WulkSoft Posted October 2, 2013 Author Share Posted October 2, 2013 tak, wszystko się zgadza Ostatnia wątpliwość Czy jeśli dodam swoj plik z klasą Product do override to automatycznie oryginalny przestaje być widoczny ? Czy istnieje możliwość, aby presta połączyła mój plik z klasą Product(który zwawierał by tylko jedną metodę ) z oryginalnym plikiem klasy Product ? Link to comment Share on other sites More sharing options...
Krystian Podemski Posted October 6, 2013 Share Posted October 6, 2013 Tak, dodajesz plik do katalogu override po czym kasujesz plik cache/class.index.php - teraz Twój plik powinien być wczytywany dla systemu zgodnie z zasadą działania "extend" w języku PHP 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