В PrestaShop у вас есть два вида крючков:
Display
- крючки: вы можете думать о них как о позициях, где вы можете разместить элементы дизайна, напримериз модулей.Допустим, вы хотите разместить баннер в нижнем колонтитуле.Затем «трансплантируйте» этот модуль в displayFooter
или выберите модуль, который использует требуемый хук. Action
-hocks: вы можете думать о них как о времени, когда вы хотите, чтобы действие произошло.Допустим, вы хотите попросить своих клиентов переосмыслить, удаляют ли они элемент из своей корзины, затем добавить всплывающее окно или что-то в actionObjectProductInCartDeleteAfter
или выбрать модуль, который использует требуемый хук.
Как использовать хуки в вашем модуле, говорите вы?
Зарегистрируйте хук (большую часть времени выполняется во время установки), например:
public function install()
{
return parent::install()
&& $this->registerHook('displayFooter');
}
Затем сделайте фактическийфункция перехвата:
public function hookDisplayFooter($params) {
dump($params); // Gives an overview of some available params.
return 'Hello world';
}
Наконец, перехватчики выполняются в следующих шаблонах:
{hook h='displayFooter'}
Вы также можете выполнять перехваты с контроллеров следующим образом:
Hook::exec($hook_name, $hook_args);
Подробнееинформацию можно найти в PrestaShop DevDocs: https://devdocs.prestashop.com/1.7/modules/concepts/hooks/