0

リモート リソースから製品を追加するモジュールを作成しましたが、製品がブラウザに表示される前に価格と在庫状況を確認したいと考えています。

Bootstrap モジュールで変更しようとしました:

<?php

public function hookHeader($params)
{
    $controller = $this->context->controller;

    if(!($controller instanceof ProductController)) {
        return;
    };

    /* @var $controller ProductController */
    $product = $controller->getProduct();

    $product->name = 'Test Name';
    $product->price = 20;
    $product->quantity = 5;
    $product->update();
}

ただし、古い値は既にテンプレートに含まれています。

次に、ProductController をオーバーライドしようとしました。

<?php

public function init()
{
    parent::init();

    $product = $this->product;
    /* @var $product Product */

    $product->price = 10;
    $product->quantity = 10;
    $product->update();
}

しかし、最初の例と同じことが起こります。

質問は次のとおりです。

  1. 出力に描画される前に、リモート データをチェックして製品を更新するのに最適な場所はどこですか?
  2. 価格と数量を更新する最良の方法は? クラスに直接、または StockAvailableCore クラスを使用しますか?
4

1 に答える 1

0

私の意見では、製品データを更新する最善の方法は、モジュール フック関数と StockAvailable クラスを使用することです。

于 2013-08-14T08:49:51.833 に答える