Dodanie pozycji dla modułu [Prestashop]

  • Start
  • Blog
  • Dodanie pozycji dla modułu [Prestashop]
14-12-2017

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 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

Poprzedni wpis Nastepny wpis