Back Office Hook即使被解雇也没有运行

时间:2018-09-21 16:37:10

标签: php prestashop prestashop-1.7

因此,最近我开始与Presta一起工作,前台的所有工作都进行得很顺利,但在后台却出现了麻烦。

我正在尝试链接到在 AdminController.php 中触发的操作 ActionAdminCustomerFormModifier ,例如Hook::exec('action'.$this->controller_name.'FormModifier', array(...,其中action'.$this->controller_name.'FormModifier代表< em> actionAdminCustomersFormModifier 。

作为一个好孩子,我注册了它($this->registerHook('actionAdminCustomersFormModifier')就像其他用于前台的钩子一样),在主模块类(public function hookActionAdminCustomersFormModifier中创建了一个函数,但令我震惊的是,它从未运行过。

我正在使用PrestaShop 1.7.4


解决方案

所以我刚制作了public function hookActionAdminFormModifier并注册了actionAdminControllerFormModifier并重新上传了它。我的问题是,我想我已经将我的IDE直接连接到了presta服务器,当我注册一个新的钩子时,可能有一些问题。因此,我重新安装了模块,一切都如鱼得水。

1 个答案:

答案 0 :(得分:0)

在prestashop 1.7中,他们更新了钩子列表。完整列表可用here

当您尝试使用名为hook的{​​{1}}并想将其用于控制​​器action<AdminControllerName>FormModifier时;看来您应该使用完整的控制器名称,例如AdminCustomers

因此,您应该首先使用AdminCustomersController方法注册钩子,如下所示;

install()

您需要将函数命名为

$this->registerHook('actionAdminCustomersControllerFormModifier')

进行更改后,请重置您的模块,以便新的挂钩应自行注册。

希望这对您有用!