以编程方式设置钩子异常

问题描述 投票:1回答:1

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

php prestashop hook prestashop-1.7
1个回答
3
投票

使用此代码:

$this->registerExceptions(
    Hook::getIdByName('hookNameHere'),
    array(
        'attachment',
        'contact',
        'other-page-name',
    )
);
© www.soinside.com 2019 - 2024. All rights reserved.