Установить исключение хука программно - PullRequest
1 голос
/ 24 марта 2019

В пользовательском модуле для prestashop, как определить исключение хука для специальной страницы (фронт-контроллера) собственного пользовательского модуля?

Я знаю, что могу зарегистрироваться для хуков в методе install() модуля, например, $this->registerHook('displayHome') и хуки можно настроить в админ-панели prestashop в improve -> design -> positions (и там также в transplant a module). Это работает для всех хуков, для которых реализован метод public function hookDisplayX($params).

При пересадке модуля можно определить исключения для страниц, на которых перехват модуля не выполняется. Это приводит к записи БД в таблице PREFIX_hook_module_exceptions с именем файла модуля (формат module-<modulename>-<controllername>), некоторым идентификатором модуля и некоторым идентификатором ловушки.

Вопрос сейчас в том, как бы я определил это исключение, например. во время install() метода (или, возможно, позже). Единственная информация, которую я имею, это имя файла исключения (так как я знаю, какой контроллер отвечает за показ содержимого).

1 Ответ

3 голосов
/ 24 марта 2019

С этим кодом:

$this->registerExceptions(
    Hook::getIdByName('hookNameHere'),
    array(
        'attachment',
        'contact',
        'other-page-name',
    )
);
...