在prestashop的自定义模块中,如何为自定义模块的特殊页面(前端控制器)定义钩子异常?
我知道我可以通过例如模块的install()
方法注册钩子。 $this->registerHook('displayHome')
和hooks可以在improve -> design -> positions
下的prestashop管理面板中配置(并且还在transplant a module
下)。这适用于实现public function hookDisplayX($params)
方法的所有钩子。
移植模块时,可以为不执行模块挂钩的页面定义例外。这导致表PREFIX_hook_module_exceptions
中的DB条目具有模块文件名(格式为module-<modulename>-<controllername>
),一些模块ID和一些钩子ID。
问题是现在,我将如何定义此例外,例如在install()
方法期间(或可能在以后)。我唯一的信息是异常文件名(因为我知道哪个控制器负责显示内容)。
使用此代码:
$this->registerExceptions(
Hook::getIdByName('hookNameHere'),
array(
'attachment',
'contact',
'other-page-name',
)
);