Spree удалить платежный адрес

Как удалить платежный адрес (или адрес доставки) в процедуре оформления заказа Spree? Я использую Шпрее 1.3


person Maoko    schedule 21.10.2012    source источник


Ответы (2)


Вы можете удалить адрес доставки, удалив этап доставки из определения checkout_flow, поместив этот код в свое приложение по адресу app/models/spree/order_decorator.rb:

Spree::Order.class_eval do
  checkout_flow do
    go_to_state :address
    go_to_state :payment, :if => lambda { |order| order.payment_required? }
    go_to_state :confirm, :if => lambda { |order| order.confirmation_required? }
    go_to_state :complete
    remove_transition :from => :delivery, :to => :confirm
  end
end

Не имея этапа доставки, Spree не будет запрашивать адрес доставки или информацию о доставке для заказа.

person Ryan Bigg    schedule 22.10.2012
comment
Я уже пробовал это, но я все еще получаю ошибки проверки (обязательны поля в доставке). Поля доставки удалены из адресной формы тыс. - person Maoko; 22.10.2012

У меня есть альтернатива для этого, если вы используете spree-core

В вашем файле view/spree/checkout/edit есть оператор рендеринга, который включает error_messages.html.erb = render :partial => 'spree/shared/error_messages', :locals => { :target => @order }

Итак, теперь вам нужно удалить имя «корабль» из _error_messages.html.erb, тогда он не будет показывать эту ошибку.

Внесите следующие изменения в файл spree/shared/_error_message:

-target.errors.full_messages.each сделать |msg|
-unless (msg.include?("Ship"))
= msg

Помните, что внесите соответствующие изменения и в количество ошибок, используя здесь цикл. В настоящее время я не использую его, поэтому сделал комментарий

//= t(:errors_prohibited_this_record_from_being_saved, :count => target.errors.count)


Я также прокомментировал тот же вопрос на github и stackoverflow- https://github.com/spree/spree/issues/2571#issuecomment-13769093

https://stackoverflow.com/questions/14891781/how-to-remove-the-shipping-address-validation-in-spree-checkout-process/14957973#comment20997203_14957973

person RohitPorwal    schedule 19.02.2013