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のFileLoggerCoreを使用してイベントがディスパッチされるPrestashopのコアクラス。

Productクラスで見つかった( actionProductDelete )のようなイベントはディスパッチされますが、キャプチャできません。

私が気付いたもう1つのポイントは、フック名がprestashopのバージョン間で変わることです。この最後のバージョン1.5では、以前のバージョンよりもはるかに多くのフックがあります。1.3から1.5までのバージョンで同じフックを使用することは可能ですか?

私の英語と事前に感謝します。

4

1 に答える 1

2
  1. モジュールがactionProductDeleteフックの「admin>modules>positions」にフックされているかどうかを確認します

  2. PS1.3-1.5との互換性のために古いフック名を使用できます。ps_hook_aliasDBテーブルを見てください。1.5より前に存在しなかったフックの場合、1.4のオーバーライドと1.3のコード変更が必要だと思います

于 2013-02-18T18:05:22.667 に答える