Я разрабатываю модуль для prestashop 1.7.3, который обрабатывает снижение цен в зависимости от содержимого корзины. Я использую два хука (1. displayFidelityProgramCartTop и 2. actionCartSave ) и выполняю действия внутри метода hookActionCartSave($params)
: в зависимости от результата мне нужно обновить sh данные возвращаются первым хуком.
Я использую Hook::exec('displayFidelityProgramCartTop', array())
в конце метода hookActionCartSave($params)
, но кажется, что ловушка не выполняется. Хук правильно вызывается один раз, при инициализации. Как я могу обновить sh данные, возвращаемые ловушкой (= повторное выполнение ловушки для обновления шаблона)?
Мой код:
cart.tpl
..
{hook h='displayFidelityProgramCartTop' mod='programmeproplus'}
..
programmeproplus. php (основной файл модуля)
public function install(){
..
$this->registerHook('displayFidelityProgramCartTop') &&
$this->registerHook('actionCartSave')
..
}
public function hookActionCartSave() {
// Perform some actions ..
Hook::exec('displayFidelityProgramCartTop', array());
}
public function hookDisplayFidelityProgramCartTop(){
// Perform some actions ..
return "<p>List of promotions : ".$promotions."</p>";
}