アプリケーションで spree 2.0.0 を使用しています。Spree チェックアウトを編集する方法、または Spree チェックアウト プロセス中に「ステップ」を完全に削除/無効にする方法を知りたいだけです。
これについて何か考えはありますか?
アプリケーションで spree 2.0.0 を使用しています。Spree チェックアウトを編集する方法、または Spree チェックアウト プロセス中に「ステップ」を完全に削除/無効にする方法を知りたいだけです。
これについて何か考えはありますか?
ドキュメンテーションが言うように、ヘルパー メソッドを使用できますremove_checkout_step
(これは、チェックアウト プロセス全体を再定義するよりもはるかに明確です)。たとえば、次のようになります。
Spree::Order.class_eval do
# ...
remove_checkout_step :delivery
# ...
end
私はちょうど解決策を見つけました。ここにあります。
Step 1:Create app/models/order_decorator.rb file
Step 2: Copy following code in your order_decorator.rb
Spree::Order.class_eval do
checkout_flow do
go_to_state :address
#go_to_state :delivery
go_to_state :payment, if: ->(order) {
order.update_totals
order.payment_required?
}
go_to_state :confirm, if: ->(order) { order.confirmation_required? }
go_to_state :complete, if: ->(order) {
(order.payment_required? && order.has_unprocessed_payments?) || !order.payment_required?
}
remove_transition from: :delivery, to: :confirm
end
end
例: 配信状態を削除する場合は、コメント アウトするだけです。任意のステップをコメント アウトできます。
詳細については、ドキュメントを参照してください。