Prestashop powyżej 1.5 umożliwia dodanie nowego "HOOK-a" wewnątrz klasy modułu, i używanie go w dowolnej pozycji naszego widoku.
Pierwszym etapem jest rejestracja w metodzie install naszego modułu np:
public function install() {
if (!parent::install() || !$this->registerHook('leftColumn') || !$this->registerHook('myCustomHook'))
return false;
return true;
}
Następnie definiujemy metodę która wykona się dla tego "HOOK-a":
public function hookMyCustomHook($params)
{
return $this->display(__FILE__, 'nameofmynewmodule.tpl');
}
Aby wykonać [pokazać] działanie naszego hooka wystarczy w pliku template użyć:
{hook h='myCustomHook'}
Wielokrotnie jednak modyfikując lub dodając nowe pozycje na działającym sklepie nie możemy jednak reinstalować, czyścić modułu a aby zadziałały zmiany w module konieczna jest reistalacja.
Bardzo pomocnym rozwiązaniem jest rejestracja HOOK-a w konstruktorze modułu, jeżeli więc dodaliśmy nowy hook na działającym module, próba dodania w tabelach ps_hook i ps_hook_module nie daje efektu to dodajemy w
public function __construct()
{
[..]
if (!$this->isRegisteredInHook('myCustomHook'))
$this->registerHook('myCustomHook');
}
myCustomHook <- zmieniamy na swoją nazwę HOOK-a