Polskie wsparcie PrestaShop

PrestaShop => Wygląd => Wątek zaczęty przez: lustfingers w Sierpień 09, 2015, 09:40:58 pm

Tytuł: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: lustfingers w Sierpień 09, 2015, 09:40:58 pm
Witam, dostosowuje moduł pod swój sklep i natknąłem sie na coś dziwnego, przynajmniej dla mnie, w module dodałem własny hook
w funkcji install dodałem:
!$this->registerHook('displayWlasnyHook') ||


nastepnie wywołuje jego zawartość standardowo poprzez:
public function hookDisplayWlasnyHook()


później w pliku product.tpl daje:
{hook h="displayWlasnyHook"}


i zawartośc się wyświetla, natomiast gdy to samo dodam w pliku product-list.tpl hook w ogóle nie jest ładowany.


Co robię nie tak?
Tytuł: Odp: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: design4VIP w Sierpień 10, 2015, 08:56:53 am
a co masz w funkcji hookdisplayWlasnyHook(){} odwolanie do innego hooka (return)? czzy w tym innym nie ma np. if pagename==index ? lub w tymze hook uzyty cache?
Tytuł: Odp: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: lustfingers w Sierpień 10, 2015, 10:32:02 am
akurat w tym module był tylko jeden hook displayproductrightcolumn  z faktu żenie jestmi potrzebny przerobiłem go na własny hook gdy go zostawiam i dodaje nowy z returnem do tego również sie nie  wyświetla. Nie jest tozależne od cache raczej coś wewnątrz presty blokuje hooki w  tym miejscu, wersja 1.6.1
Tytuł: Odp: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: design4VIP w Sierpień 10, 2015, 10:58:59 am
no raczej moze blokowac kontroler tego wlasnie hook, czy to przepisywany czy returnowany.
wrzuc co masz w tym hook, jezlei byl kierowany do kolumny to zapewne bedzie gdzies blokowany dla innych miejsc.

a tak jeszcze inaczej... po zmianie tego hook odinstalowales i instalowales na nowo modul? inaczej hook sie nie zainstaluje (nie zagniezdzi)
Tytuł: Odp: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: lustfingers w Sierpień 10, 2015, 04:26:59 pm
W kontrolerze modułu jest cos takiego:

public function convertPrice($params, $smarty)
    {
        if ($params['price'] > 0)
        {
            $product = false;
            if (isset($smarty->tpl_vars['product']))
                $product = $smarty->tpl_vars['product'];
            elseif (isset($smarty->tpl_vars['newproduct']))
                $product = $smarty->tpl_vars['newproduct'];
            if ($product)
            {


Jesli to ogranicza wyświetlanie to próbowałem to zmienić na:

public function convertPrice($params, $smarty)
    {
        if ($params['price'] > 0)
        {
            $product = false;
            if (isset($smarty->tpl_vars['product']))
                $product = $smarty->tpl_vars['product'];
            elseif (isset($smarty->tpl_vars['newproduct']))
                $product = $smarty->tpl_vars['newproduct'];
           elseif (isset($smarty->tpl_vars['product-list']))
                $product = $smarty->tpl_vars['product-list'];
            if ($product)
            {


Akurat nie wiem czy product-list to poprawna wartość, jednak w zkładce nowe produkty również nie zwraca zawartości tego hooka.

Jednak nie dało to skutku, w tym samym hooku w product list udało mi sie zwrócić kontent innego modułu więc problem faktycznie może leżeć w samym kontrolerze.

Na PW podeslę cały kontroler.

Jeszcze odpowiadając na pytanie, za każdym razem gdy dokonuje zmiany czyszczę moduł.
Tytuł: Odp: Wyświetlanie hooka w product-list.tpl
Wiadomość wysłana przez: lustfingers w Sierpień 10, 2015, 05:36:48 pm
Swój problem rozwiązałem w zupełnie inny sposób, przebudowując kontroler otrzymałem efekt jaki chciałem uzyskać, jednak nadal jestem ciekawy co mi blokowało wyświetlanie w product-list.tpl jeśli ktoś ma jakąś teorię chetnie wysłucham, tymczasem temat uważam za zamknięty.



Pozdrawiam wszystkich :)