Własny hook w prestashop

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)

źródło:

http://blog.better-web.pl/dodawanie-hook-a-w-nowy-sposob-prestashop-1-5/

Skip to content