- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试删除 2 个结帐步骤。
我试图遵循站点中的文档http://guides.spreecommerce.com/checkout.html
但仍然没有任何 react 。
我在用
spree 1.1.2
ruby 1.9.2p318
导轨 3.2.6
Ubuntu 12.04(精确)32 位
我会告诉你我做了什么,你会告诉我要修复什么。
我应该更改文件的名称或位置吗?
还是我也应该更改其他文件?
我该如何调试它?
我创建了一个新文件“app/models/spree/order_decorator.rb”(也在“app/models/order_decorator.rb”下尝试过)
module SpreeCustomExtension
class Engine < Rails::Engine
def self.activate
Spree::Order.class_eval do
StateMachine::Machine.ignore_method_conflicts = true # I HAVE ADDED THOSE 2 LINES LATER, HOPING IT WOULD HELP ME,
Spree::Order.state_machines.clear # IT DIDN'T.
# customize the checkout state machine
Order.state_machines[:state] = StateMachine::Machine.new(Order, :initial => 'cart') do
after_transition :to => 'complete', :do => :complete_order
before_transition :to => 'complete', :do => :process_payment
event :next do
transition :from => 'cart', :to => 'payment'
transition :from => 'payment', :to => 'complete'
end
event :cancel do
transition :to => 'canceled', :if => :allow_cancel?
end
event :return do
transition :to => 'returned', :from => 'awaiting_return'
end
event :resume do
transition :to => 'resumed', :from => 'canceled', :if => :allow_resume?
end
event :authorize_return do
transition :to => 'awaiting_return'
end
before_transition :to => 'complete' do |order|
begin
order.process_payments!
rescue Core::GatewayError
!!Spree::Config[:allow_checkout_on_gateway_error]
end
end
before_transition :to => ['delivery'] do |order|
order.shipments.each { |s| s.destroy unless s.shipping_method.available_to_order?(order) }
end
after_transition :to => 'complete', :do => :finalize!
after_transition :to => 'delivery', :do => :create_tax_charge!
after_transition :to => 'payment', :do => :create_shipment!
after_transition :to => 'resumed', :do => :after_resume
after_transition :to => 'canceled', :do => :after_cancel
end
end
end
end
end
Spree::Order.class_eval do
StateMachine::Machine.ignore_method_conflicts = true
Spree::Order.state_machines.clear
state_machine :initial => 'cart', :use_transactions => false do
event :next do
transition :from => 'cart', :to => 'payment', :if => :payment_required?
transition :from => 'cart', :to => 'complete'
transition :from => 'confirm', :to => 'complete'
# note: some payment methods will not support a confirm step
transition :from => 'payment', :to => 'confirm',
:if => Proc.new { |order| order.payment_method && order.payment_method.payment_profiles_supported? }
transition :from => 'payment', :to => 'complete'
end
event :cancel do
transition :to => 'canceled', :if => :allow_cancel?
end
event :return do
transition :to => 'returned', :from => 'awaiting_return'
end
event :resume do
transition :to => 'resumed', :from => 'canceled', :if => :allow_resume?
end
event :authorize_return do
transition :to => 'awaiting_return'
end
before_transition :to => 'complete' do |order|
begin
order.process_payments!
rescue Core::GatewayError
if Spree::Config[:allow_checkout_on_gateway_error]
true
else
false
end
end
end
before_transition :to => ['delivery'] do |order|
order.shipments.each { |s| s.destroy unless s.shipping_method.available_to_order?(order) }
end
after_transition :to => 'complete', :do => :finalize!
after_transition :to => 'delivery', :do => :create_tax_charge!
after_transition :to => 'payment', :do => :create_shipment!
after_transition :to => 'resumed', :do => :after_resume
after_transition :to => 'canceled', :do => :after_cancel
end
end
最佳答案
好吧,我终于找到了——
Spree 发布了一个新版本 #1.2.0,对这个确切的问题进行了重大修复。
Spree 1.2.0 Release Notes
The checkout process has always been hard to customize within Spree, and that has generated complaints in the past. We are pleased to report in the 1.2 release of Spree that this has been substaintially easier...
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
end
# If true, causes the payment step to happen during the checkout process
def payment_required?
return false
end
# If true, causes the confirmation step to happen during the checkout process
def confirmation_required?
return true
end
end
关于checkout - spree 结账 - 删除步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455498/
我正在为 WooCommerce 创建一个插件来修改结账页面。我想根据用户的购物车做一些条件过滤器。有没有办法查看购物车中的商品,并确定是否有任何商品不可下载/虚拟? 到目前为止,我有一个过滤器,并且
我必须检查一些代码并在我的 Eclipse 中运行它。我正在 Windows 上工作。我有网址: svn+ssh://somename1@subversion.host.com/GoogleCloud
我正在尝试删除 2 个结帐步骤。 我试图遵循站点中的文档http://guides.spreecommerce.com/checkout.html 但仍然没有任何 react 。 我在用 spree
我有一个未暂存的修改文件,我想放弃更改。 在 git 中它会是这样的 git checkout -- . 如何使用 JGit 模拟此行为? 提前致谢。 最佳答案 要恢复单个文件,您可以使用 Clean
所以我正在制作一个小型购物车应用程序。结帐项目是这样的:收集用户信息 -> 列出所有订单数据的订单确认页面 -> 用户点击 OK 并被重定向到 paypal -> 用户登录到他的 pp 帐户 -> 被
我正在尝试向大型卡特尔网站添加折扣代码字段。我在bigcartel设置了可用的折扣码,但是结账的时候没有显示折扣字段。这是因为我将用户发送到 PayPal 进行结帐。有没有办法在我的购物车中添加一个折
我有一个以通常方式集成 PayPal 的商店系统,即用户被重定向到 paypal.com 以登录并确认付款,之后用户被引导回到我的商店系统中的确认页面。 现在我的客户问是否可以在店内运行整个过程。 我
我正在尝试使用 checkout.com 从信用卡中扣款。我正在使用带卡 token 的费用。我已经使用 checkoutkit.js 生成了卡 token 。并将该 token 传递给我的 Cont
我已经设法让 Stripe Checkout 使用 PHP 工作。但我想摆脱最初的 Stripe Button,它通常显示“继续付款”或“用卡付款”。我只是想链接我网站上的按钮以直接转到结帐弹出窗口。
我需要设置 Magento 的订单成功页面 /checkout/onepage/success/ 的样式,但因为它在没有订单 session 时重定向,所以我无法刷新页面来检查我的更改! 有人知道如何
我必须检查一些代码并运行它。我有网址: svn+ssh://myuser@www.myclient.com/home/svn/project/trunk 我有一个包含他们私钥的文件。我该如何获取此代码
我带着一个我一直为之疯狂的问题来找你,我正在为客户构建一个 woocommerce,但是当我在购物车上并单击结账时,表单变为“白色”,然后去结账,结账时,当页面加载时,一个表单是“白色”,当我点击“进
我使用过 paypal 快速结账沙盒,但是当我点击购买某物时,paypal 中没有显示任何价格或商品名称。 在我的页面上,我放了这个表格: 我已经将来自 paypal 的这两个代码包含到我的脚本
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 3 年前。 Improve
我遇到了一个问题,我使用 tableview 作为侧边栏来显示应用程序中的某些 Controller 。尝试预设 Adyen 结帐付款时收到错误,提示我无法使用多重展示,我的问题是,我该如何解决此问题
在 WooCommerce 中,每当选择“送货到家”时,我都会尝试隐藏公司名称字段。我尝试了很多不同的事情。 这是我最近的尝试: add_filter('woocommerce_checkout_fi
我正在尝试设置 Stripe 结账,以便我可以将我的服务器端客户邮政编码/邮政编码传递给 Stripe 结账。看起来它应该很简单,但我无法让它工作! 最简单的是,我使用的代码是: 交易工作正常
对于 AJAX 来说是全新的,所以我很难找到适合我的具体情况的资源。 我正在尝试使用 MYSQL 数据库构建一个简单的结账系统,其表布局如下: 现在我的网站布局如下: 带有“ checkin ”或“
我需要在我的自定义表单中添加一个额外的字段,我想添加信用卡的名称。 我尝试了以下方式: var cardNameElement = elements.create('cardName', { st
我想在 Magento/checkout/onepage/中隐藏“小计”行,并仅显示“总计”行。 我怎样才能做到这一点? 非常感谢 最佳答案 我刚刚将位于 app/design/frontend/ba
我是一名优秀的程序员,十分优秀!