2

CartThrob で奇妙な問題が発生しています。Google と CartThrob フォーラムは答えを明らかにしていません。

カートが支払いゲートウェイに送信されると、「承認済み」、「処理中」、「拒否済み」、または「失敗」のいずれかの「状態」がテンプレートに返されます。

私が見つけたのは、ブラウザの完全な(キャッシュなしの)リフレッシュを含め、ブラウザのリフレッシュ後にこの「状態」が残っていることです。

これは主に「承認された」メッセージの問題です。注文が 100% 完了すると、「承認されました」というメッセージが表示されます。

私が見ているのは、別の注文をすぐに開始して、このコードが存在するテンプレートに移動すると、「承認済み」メッセージがまだそこにあるということです。メッセージは最終的に消えます...おそらく10〜20分後です。しかし、私の意見では、すぐに消えるべきですよね?注文が完了しました。すべてをクリアします。

この「状態」は CartThrob セッションに保存されていますか? CartThrob セッションを強制的にクリアできますか?

        {exp:cartthrob:submitted_order_info}
            {if authorized}
                   Order complete!
             {if:elseif processing}
                   Your order is being processed!
             {if:elseif declined}
                   Your credit card was declined: {error_message}
             {if:elseif failed}
                   Your payment failed: {error_message}
             {/if}
        {/exp:cartthrob:submitted_order_info}
4

2 に答える 2

3

これはカートをクリアするのに役立つことがあります。{redirect="blah/blah"}と同じように機能します。

{exp:cartthrob:clear_cart return="about/stuff" }

そしてもちろん、リンクを介してトリガーする必要がある場合は、セグメントが役立ちます

{if segment_3 == "foo"}
{exp:cartthrob:clear_cart return="about/stuff" }
{/if}
于 2012-10-31T10:09:25.200 に答える
3

この情報をチェックアウト後のページにのみ表示したい場合、最も簡単なオプションはorder_status、ゲートウェイのリターン URL にセグメントを追加し、submitted_order_infoそのセグメントが存在する場合にのみタグを出力することです。

CTセッションデータを完全にフラッシュするのではなく、カートの内容を削除するだけだと確信していclear_cartます(ログアウトによってのみトリガーされると思います)。

于 2012-10-31T13:43:23.017 に答える