Dodawanie HOOK-a w nowy sposób – Prestashop 1.5

Przedstawiam ciekawy sposób na dodanie uchwytu(pozycji) dla Prestashop 1.5 znalezione na: http://nemops.com/adding-hooks-to-prestashop-1-5/

No to zaczynamy:

Otwieramy plik .tpl na przykład footer.tpl , dodajemy kod:

{hook h='beforeFooter'}

po h podajemy nazwę własnej pozycji , następnie szukamy pliku php naszego modułu w moim przypadku fmeblockmanufacturer.php, dodajemy kod:

	public function hookBeforeFooter($params)
	{
	   return $this->hookLeftColumn($params);
	}

najpierw hookNazwaHooka, potem ciało funkcji(metody),

następnie w tym samym pliku szukamy metody odpowiedzialnej za instalację :

public function install()

dodajemy do instalacji nasz hook:

$this->registerHook('BeforeFooter')

Dla przykładu tak wyglądała metoda odpowiedzialna za instalację przed modyfikacją:

	public function install()
	{
		Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT', true);
		Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT_NB', 5);
		Configuration::updateValue('MANUFACTURER_DISPLAY_FORM', true);
        return parent::install() && $this->registerHook('displayHome')  && $this->registerHook('header');
    }

Po modyfikacji:

	public function install()
	{
		Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT', true);
		Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT_NB', 5);
		Configuration::updateValue('MANUFACTURER_DISPLAY_FORM', true);
        return parent::install() && $this->registerHook('displayHome') && $this->registerHook('BeforeFooter') && $this->registerHook('header');
    }

Teraz najważniejsze resetujemy nasz moduł w panelu sterowania i w zasadzie to wszystko bez zabawy w bazach itp. nasz kontener jest dostępny w panelu sterowania.

Uwaga czasami należy zaznaczyć „Display non-positionable hooks”(w wersji angielskiej)

2 KOMENTARZE

  1. Ta metoda coś za bardzo mi nie działa. Pokazuje się tylko biała strona.
    Jak usunę poniższy kod to sklep działa poprawnie.
    public function hookBeforeFooter($params)
    {
    return $this->hookLeftColumn($params); / co oznacza ta linia ?? /
    }

  2. Proszę o podanie wersji Prestashop, idealnie byłoby na chwilę uruchomić tryb debuggowania – oprócz białej strony będzie kod błędu.

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here

Loading Facebook Comments ...