如何从 prestashop 中的另一个钩子执行自定义钩子?

Jib*_*eee 5 php hook prestashop prestashop-1.7

我正在为 prestashop 1.7.3 开发一个模块,该模块根据购物车内容处理降价。我使用两个钩子(1.displayFidelityProgramCartTop2.actionCartSave 并在hookActionCartSave($params)方法内执行操作:根据结果,我需要刷新第一个钩子返回的数据。

我在方法Hook::exec('displayFidelityProgramCartTop', array())末尾使用了hookActionCartSave($params),但似乎钩子没有执行。在初始化时,该钩子被正确调用一次。如何刷新挂钩返回的数据(=重新执行挂钩以更新模板)?

我的代码:

购物车.tpl

..
{hook h='displayFidelityProgramCartTop' mod='programmeproplus'}
..
Run Code Online (Sandbox Code Playgroud)

programproplus.php(主模块文件)

public function install(){ 
   ..
   $this->registerHook('displayFidelityProgramCartTop') && 
   $this->registerHook('actionCartSave')
   ..
}

public function hookActionCartSave() {
   // Perform some actions .. 
   Hook::exec('displayFidelityProgramCartTop', array());
}


public function hookDisplayFidelityProgramCartTop(){ 
   // Perform some actions .. 
   return "<p>List of promotions : ".$promotions."</p>";
}
Run Code Online (Sandbox Code Playgroud)