配送モジュールを作成した後、このブログの手順に従って、magento 1.7.xxのカスタム(集荷)配送方法を作成しようとしています。ユーザーの配送オプションの選択に基づいて送料を変更できるようにしたいと思います。
準備:
1.)カスタム(集荷)配送方法のフォームブロックを
作成しました。2。)ストア名(任意のテキスト)ドロップダウン/選択要素を、store1、store2、store3の3つの値で作成します。
3.)デフォルトの送料は、送料設定で$ 1.00に設定されています(テスト目的のみ)。
現在のステータス:
1.)必要なプロセスの後、1ページのチェックアウトで配送方法の選択に到達すると、3つのオプションがあり、配送価格がデフォルト価格に設定されているselect要素が表示されます。
目標:
ユーザーが最初のオプションを選択した場合は送料を$10.00に更新し、ユーザーが2番目のオプションを選択した場合は$20.00に更新したいと思います。
私の試み:
数時間グーグルした後、オブザーバーモデルにいくつかの変更を加えました。
NameSpace_ModuleName_Model_Observer extends Varien_Object {
public function saveShippingMethod($observer) {
$request = $evt->getRequest();
$quote = $evt->getQuote();
$pickship = $request->getParam('shipping_pickship', false);
$rates = $quote->getShippingAddress()->getShippingRatesCollection();
$rate = $rates->getFirstItem();
if($pickship['select_element'] == 1) {
$rate->setPrice(10);
} elseif($pickship['select_element'] == 2) {
$rate->setPrice(20);
}
//Mage::log($rate->getPrice());
}
質問:
このタスクに適切なオブザーバー/メソッドを使用していますか?1つのステップでのみ機能します。[続行]をクリックして注文すると、デフォルトの価格にリセットされます。配送料の設定方法が間違っている可能性があります。私を正しい方向に導いたり、解決策を提案したりできますか?