因此,最近我开始与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服务器,当我注册一个新的钩子时,可能有一些问题。因此,我重新安装了模块,一切都如鱼得水。
答案 0 :(得分:0)
在prestashop 1.7中,他们更新了钩子列表。完整列表可用here
当您尝试使用名为hook
的{{1}}并想将其用于控制器action<AdminControllerName>FormModifier
时;看来您应该使用完整的控制器名称,例如AdminCustomers
。
因此,您应该首先使用AdminCustomersController
方法注册钩子,如下所示;
install()
您需要将函数命名为
$this->registerHook('actionAdminCustomersControllerFormModifier')
进行更改后,请重置您的模块,以便新的挂钩应自行注册。
希望这对您有用!