3

DrupalコマースWebサイトをセットアップしていて、管理者が注文を処理して注文ステータスを変更できるようにする機能が欲しいのですが、ユーザーは支払いページにリダイレクトする電子メールリンクを受け取ります。このようなことは、8つのdrupalコマースまたはubercartで可能ですか?

注:uc_payafterは7.xでは機能しません

4

1 に答える 1

6

Drupal CommerceとRulesを組み合わせて、おそらくいくつかの調整を行うことで、これを実行できると思います。

私が理解しているように、あなたのシナリオは次のようになります。

  1. ユーザーは注文しますが、支払いはしません。
  2. 管理者は注文の概要を説明し、支払いを承認します。
  3. ユーザーには、支払いを促すメールが送信されます。
  4. 有料注文は完了としてマークされます。

コマースはすでに管理者が注文のステータスを編集しています。次に、支払いメールを送信するルールでそのイベントをキャッチできます。最大の課題は、ユーザーが注文した直後に支払いを行わないようにするために、チェックアウトプロセスに介入することです。

このためには、2つの新しい注文ステータスを作成する必要があります。これを行う方法については、 http://www.drupalcommerce.org/faq/order-statesを参照してください。これらのステータスを「承認待ち」および「承認済み」と呼びましょう。

残りの部分は、コーディングを伴わずに簡単にできるはずです。

  1. 注文がまもなく確認および承認されることをユーザーに通知するページを作成します。

  2. 新しいステータスを挿入するルールを作成します。

    • イベント:注文が保存される前
    • 状態:データを比較します。注文ステータスは変更されていません。ショッピングカートです。
    • 状態:データを比較し、更新された注文ステータスはチェックアウトです
    • 処置:注文ステータスを「承認待ち」に設定してください

  3. ユーザーがチェックアウトしないようにするルールを作成します。

    • イベント:Drupalは初期化中です
    • 条件:データを比較し、ページパスに「チェックアウト」が含まれている
    • 状態:データを比較し、現在の注文ステータスは承認待ちです
    • 処置:ステップ1で作成した情報ページにユーザーをリダイレクトします。ユーザー

      がチェックアウトしようとすると、注文は承認待ちとしてマークされ、ユーザーは情報ページに移動します。これで、管理者は注文を自由に編集し、ステータスを承認済みに変更できます。私がお勧めします:

  4. 「編集」リンクを含む、承認待ちステータスのすべての注文のビューを作成します。

    次に、プロセスを完了するには:

  5. 注文の支払いが承認されたことをユーザーに通知するルールを作成します。

    • イベント:注文が更新されました
    • 条件:注文ステータスは承認済みです
    • アクション:ユーザーにメールを送信

  6. ユーザーが支払うことを許可するルールを作成します。

    • イベント:Drupalは初期化中です
    • 条件:データを比較し、ページパスに「チェックアウト」が含まれている
    • 条件:データを比較し、現在の注文ステータスは承認済みです
    • 処置:注文ステータスをチェックアウトに変更してください

ここから、チェックアウトプロセスは、完了するまで通常どおり続行されます。

いずれかの時点で、ユーザーがチェックアウトプロセスで[キャンセル]を押すと、注文はショッピングカートのステータスに戻り、管理者による再度承認が必要になることに注意してください。これを望まない場合は、「キャンセル」リンクをテーマにして、エレガントに「消える」ことができます。

于 2011-11-24T08:06:43.410 に答える