0

prestashop で注文プロセス中に価格を変更することはできますか? 条件によっては送料が加算されるモジュールを作る必要があります(prestaではできない、モジュールが必要)。いくつかのフック (hookBackBeforePayment、hookBeforeCarrier、hookProcessCarrier、hookExtraCarrier) でそれを実行しようとしましたが、単純に ['total_price'] またはフック関数に渡されるその他の変数を変更しようとしました。

助けていただければ幸いです。

4

2 に答える 2

0

これは、キャリアモジュールが処理する必要があるもののように聞こえます。残念ながら、このトピックに関するドキュメントはあまりないため、かなりの試行錯誤が必要です。PS1.4の簡単なキャリアモジュールチュートリアルがここにあります。また、存在する他の送料無料モジュールのソースコードを読むことをお勧めします。

于 2013-03-18T10:46:12.993 に答える
0

Order.php の getFields() 関数は、注文を行うためのすべてのデータを運びます。この配列を変更することで、注文のカスタム価格を提供できます。

public function getFields()
{
    if (!$this->id_lang)
        $this->id_lang = Configuration::get('PS_LANG_DEFAULT', null, null, $this->id_shop);
    $val = parent::getFields();
    $val['total_paid'] = 5678.88;
    $val['total_paid_tax_incl'] = 5678.88;
    $val['total_paid_tax_excl'] = 5678.88;
    $val['total_paid_real'] = 0;
    $val['total_products'] = 5678.88;
    $val['total_products_wt'] = 5678.88;

    return $val; //Return this array
    //return parent::getFields();
}

実際、この関数をオーバーライドして prestashop をアップグレード可能にすることができます。バージョン: 1.5.5.0

于 2013-12-10T12:29:52.513 に答える