以编程方式设置挂钩异常

时间:2019-03-24 17:02:19

标签: php prestashop hook prestashop-1.7

在用于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()方法期间(或以后)。我仅有的信息是异常文件名(因为我知道哪个控制器负责显示内容)。

1 个答案:

答案 0 :(得分:3)

使用以下代码:

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