0

新しいユーザー登録時に (アカウント ページから) 発行されるregistration_success_observerイベントをリッスンするオブザーバーを作成しました。オブザーバーはさまざまな機能を処理しますが、最も重要なことは、メンバーシップ ID が渡された場合にユーザーをメンバーシップ グループにアップグレードすることです。

問題は、チェックアウトして新規顧客としてサインアップしているユーザーに対して同じ機能を持たせる必要があることです。合計を再計算することに加えて、1 ページのチェックアウト画面から新規顧客として (イベント経由で?) サインアップしているかどうかを把握する方法が必要です。ストアの一部のアイテムには、グループ向けの特別価格が設定されています。

これについて最善の方法を知っている人はいますか?リッスンする必要がある特定のイベント、または 1 ページのチェックアウト画面内で機能を処理するためのその他のコード スニペットが役立ちます。

**更新**

注文が完了するまで顧客が実際に作成されないことに気付きました。これに対する回避策はありますか?

4

1 に答える 1

3

以下のロジックを使用して独自の「カスタム イベント」を作成し、success.phtml のチェックアウトまたは組み込みに使用するメソッドを確認できます。 sales_order_place_before

$quoteId = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId())->getQuoteId();
$quote = Mage::getModel('sales/quote')->load($quoteId);
$method = $quote->getCheckoutMethod(true);
if ($method == 'register'){
//the customer registered...do your stuff
}

ソース: http://www.magentocommerce.com/boards/viewthread/273690/#t375160

しかし、注文がデータベースに保存される前に顧客が作成されますが、クレジットカードを処理した後に顧客が作成されるため、クレジットカードが請求される金額は注文の合計と等しくならないため、ワンページチェックアウトを書き直さないと、あなたがしようとしていることは不可能かもしれません.

チェックアウト プロセスの最初のステップ (「メンバーとして登録」) に 3 番目のオプションを追加して、チェックアウトを開始する前にアカウントを作成できるようにすることもできます。

于 2013-01-14T15:03:57.063 に答える