Замена солидуса доставки и адреса и удаление этапов оплаты

Я хотел настроить наложенный платеж и выбрать в магазине в качестве вариантов доставки. Таким образом, когда пользователь выбирает пункт самовывоза в магазине, адрес устанавливается в соответствии с местоположением магазина.

это изменения, которые я внес в 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

есть хорошие гайды по солидусу

Спасибо


person user6763842    schedule 27.08.2016    source источник


Ответы (1)


Для наличных платежей вы создаете платеж типа Чек и просто называете его наложенным платежом.

Для самовывоза из магазина просто добавьте кнопку на странице «Адрес» заказов с указанием «Самовывоз из магазина». Отобразите адрес магазина на панели под сводкой заказа, этот адрес необходимо сохранить в spree_address с некоторым установленным идентификатором и получить его оттуда. При нажатии кнопки просто создайте записи в spree_user_addresses для доставки и выставления счетов и укажите тот же адрес, а затем выполните код, связанный с кнопкой «Сохранить и продолжить».

Адрес магазина можно сохранить в spree_address через начальный файл, проверьте адрес, прежде чем заполнять его. Просто убедитесь, что если этот адрес не существует, не отображайте эти дополнительные элементы пользовательского интерфейса, и все остальное будет работать как есть.

person Mink    schedule 30.06.2017