0

私の目標は、1 ページのチェックアウトである Magento 1.5 で返品された UPS 料金を上書きすることです。

js コンソールを表示して、変更するテンプレートを見つけました。それをローカル テーマにコピーし、編集を行っています (vars をダンプして正しいファイルにいることを確認しました)。

ファイルは次のとおりです。 /app/design/frontend/default/mytheme/template/checkout/onepage/shipping_method/available.phtml

$_incl 変数でレートが設定されている場所がわかります。

<?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>

いくつかのビジネス ルールに基づいて料金を変更する必要があります (たとえば、料金が 0 ~ 100 の場合は 5 ドルを追加します。料金が 101 ~ 200 の場合は 10 ドルを追加するなど)。-- これはうまく機能しており、新しい値をダンプすることでレートが変更されていることを確認できます。

問題:

フォームを送信すると (次のステップに進みます)、変更したレートが保存されず、標準レートが保存されます。そのため、重要な (そしておそらく非常に基本的な) 何かが欠けています。誰かが私を正しい方向に向けることができますか?

編集:「続行」ボタンをクリックすると(配送方法のステップから支払い方法のステップに移動するため)、これが実行されていることがわかります:

このテンプレートが投稿されている場所ならどこにでも答えがあると思います。問題は私がそれを見つけることができないということです。

4

2 に答える 2

0

getShippingPrice 関数によって返された値を単に置き換えているだけです。$_incl の値を調整するのではなく、変更されたレートを返すように、この関数を編集する必要があります。

または、UPS料金モジュールを調整して、料金リクエストを行った後にマークアップを追加することもできます。

おそらくさらに簡単ですが、このモジュールでうまくいくはずです。

于 2012-02-05T14:58:59.590 に答える