1

嗨,我正在 Prestashop 上为我的公司开发一个自定义模块,我需要一些帮助。我最近在 Magento 上开发了相同的插件,但在这里我遇到了一些事件问​​题(也称为动态挂钩)。

我正在尝试使用后端的动态挂钩来管理产品库存。尽管我在install()方法中注册了钩子,但我无法在我的模块上捕获 prestashop 后端事件:

function install() {
   if (parent::install() == false
    || !$this->registerHook('home')
    || !$this->registerHook('productFooter') 
    || !$this->registerHook('orderConfirmation') 
    || !$this->registerHook('shoppingCart')
    || !$this->registerHook('actionProductDelete')
    || !$this->registerHook('actionProductUpdate')) {
    return false;
}
//default configuration values
...

并为每一个放置了特定的方法。

public function hookActionProductDelete($params) { ... }

我正在记录双方的所有过程。在我的带有firePHPFileLoggerCore的模块上以及 Prestashop 的核心类上,事件通过 prestashop 的FileLoggerCore 分派

在 Product 类上找到的(actionProductDelete)之类的事件已被调度,但我无法捕获它们。

我注意到的另一点是钩子名称在 prestashop 版本之间发生变化。在最后一个版本 1.5 中,钩子比以前的要多得多。可以在 1.3 到 1.5 的版本中使用相同的钩子吗?

对不起我的英语,非常感谢提前。

4

1 回答 1

2
  1. 检查你的模块是否挂在 actionProductDelete 钩子上的“admin > modules > Position”

  2. 您可以使用旧的钩子名称来兼容 PS 1.3-1.5,查看 ps_hook_alias DB 表。对于 1.5 之前不存在的钩子,我认为您需要覆盖 1.4 和修改 1.3 的代码

于 2013-02-18T18:05:22.667 回答