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