【问题标题】:Swapping delivery and address solidus and removing payment steps交换交货和地址solidus并删除付款步骤
【发布时间】:2023-09-30 21:20:01
【问题描述】:

我想设置货到付款和店内取货作为我的送货选项。因此,当用户选择店内取货时,地址设置为商店位置。

这些是我对 order_decorator.rb 所做的更改

Spree::Order.class_eval do
 remove_checkout_step :payment
  checkout_flow do
   go_to_state :delivery
   go_to_state :address
   go_to_state :confirm
   go_to_state :complete
 end 
end

当我在添加一些商品后结帐时,我得到了无法发货的商品

我是否必须更改 checkout.rb 文件中的代码

有没有关于solidus的好指南

谢谢

【问题讨论】:

    标签: ruby-on-rails checkout spree solidus


    【解决方案1】:

    对于现金支付,您创建支票类型的支付并将其命名为 COD。

    对于商店取货,只需在订单的地址页面上添加一个按钮,说明商店取货。请在订单摘要下方的面板中显示存储地址,此地址需要存储在 spree_address 中并带有一些设置的 id 并从那里获取。单击按钮时,只需在 spree_user_addresses 中创建用于运输和计费的条目并指向同一地址,然后继续执行与保存并继续按钮相关的代码。

    商店地址可以通过种子文件保存在spree_address中,填写前请检查地址。只需确保如果该地址不存在,则不要显示这些额外的 UI 元素,其他一切都将按原样工作。

    【讨论】: