-1

編集

料金コードを取得するために呼び出されたものは、これらすべての配送オプションに対して同じものを返しているようです。各配送オプションのレート コードを定義する方法を見つける必要があるようです。

編集を終了

UPS Freight 配送用に Magento でカスタム配送モジュールを作成しました。Freight + Lift Gate、Freight + Residential、Freight + Lift Gate & Residential のオプションが必要でした。これらのオプションごとにチェックボックスを用意する代わりに、別のボードの応答ごとに、個別のメソッドを作成するだけです。

配送オプション

画像からわかるように、Magento は価格を正しく計算しています。私が抱えている問題は、オプションの 1 つを選択して [合計を更新] をクリックすると、価格が最も低い最初のオプションに戻ってしまうことです。ラジオ ボタンの入力を調べたところ、すべて同じ値であることがわかりました。

<ul>
<li>
    <input name="estimate_method[2]" type="radio" value="excellence_excellence" id="s_method_excellence_excellence_2" class="radio">
    <label for="s_method_excellence_excellence_2">Freight<span class="price">$678.88</span></label>
</li>
<li>
    <input name="estimate_method[2]" type="radio" value="excellence_excellence" id="s_method_excellence_excellence_2" class="radio">
    <label for="s_method_excellence_excellence_2">Freight (Residential)<span class="price">$744.66</span></label>
</li>
.
. and so on.
.
</ul>

すべての入力が同じ値「excellence_excellence」を持っているため、価格がデフォルトで最初の価格に戻ることは理にかなっています。残念ながら、これを修正する方法がわかりません。

以下は、Model クラス、config.xml、および system.xml ファイルへのリンクです。提供されたヘルプ、考え、またはリソースは大歓迎です。

モデル 構成 システム

4

2 に答える 2

2

私はあなたのモデルファイルを見ました、そしてそれはこれを持っています:

$method->setCarrier($this->_code);
$method->setMethod($this->_code);

$this->_code は「優秀」であるため、次のような許可されたメソッドの名前を追加してメソッドを変更することを検討してください。

$method->setMethod($this->_code.$allowedmethod_code); //where allowedmethod_code have to be set based on your custom method names
于 2012-07-08T05:00:52.140 に答える
0

これを試して

"<input name="estimate_method[]"

これにより、この特定の入力に対して一意の配列インデックスが生成されます。

于 2012-07-05T02:51:36.997 に答える