0

カスタム チェックアウト モジュールを開発しましたが、正常に動作しています。最初のチェックアウト時に新しい請求先住所と配送先住所を入力すると、デフォルトの請求先住所と配送先住所として設定されますが、これは問題ありません。ここで、新しい配送先住所が入力されるたびに、これがデフォルトの配送先住所になる必要があるという要件があります。どういうわけか、私はこれを機能させることができません。私は次のことを試しました:

$shipdata は、新しい住所の詳細を含む配列です。

$shipAddress = $this->getQuote()->getShippingAddress();
$shipAddress->addData($shipdata);
$shipAddress->setIsDefaultShipping(true);

if($this->getQuote()->getDefaultShipping()) {
   $this->getQuote()->setData('default_shipping', '');
   $this->getQuote()->addAddress($shipAddress);
}
$this->getQuote()->collectTotals();
$this->getQuote()->save();

また、 $shipdata に以下を追加しようとしました

$shipdata['default_shipping'] = 1;

しかし、助けにもなりませんでした。この点で誰かが助けることができますか?

4

2 に答える 2

0

次のページに投稿するフォームには、非表示の入力が含まれているだけです

于 2013-03-18T12:50:54.890 に答える
0

「customer_address_save_before」イベントでオブザーバーを使用してみてください。そこに isDefaultShipping フラグを設定すると機能します。私が知らない唯一のことは、あなたがチェックアウトプロセスにあるかどうかを確認することです.

于 2012-03-26T15:21:21.547 に答える