繁体   English   中英

疯狂的宝石,无需结帐

[英]Spree gem without checkout

我在Rails 3.2.14上使用Spree 2.0.4。 我想建立一个电子商务网站,但是它不应该具有结帐功能。 没有结帐的电子商务网站没有多大意义,但本质上是B2B模式,因此零售销售不会发生。 我已经阅读了文档 ,并显示了自定义结帐流程的步骤,但仍不清楚如何完全删除此功能。 我的要求是

  1. 前端没有价格显示
  2. 否添加到购物车或数量选项

我想使用Spree,因为它具有库存管理和UX模块,可以帮助我快速启动和运行。

没有捷径可做,但是最简单的方法是摆脱任何参考,以检出前端的数量和数量。 您可以完全或使用deface来覆盖引用它们的视图(建议使用deface,但学习起来也要花一些时间),并且只需删除任何数量字段,价格标签,购物车或结帐链接即可。

但是,与Spree合作已经有一段时间了,我的个人建议是从github分支出spree项目,并选择性地删除前端,后端和核心引擎中不需要的功能。 但是,这将需要花费额外的精力。

我没有使用过2.x版本,但我看它,它应该足以覆盖show.html.erb产品有污损:

app/overrides/products/show.rb:

 Deface::Override.new(
   virtual_path: 'spree/products/show',
   name: 'Remove cart',
   remove: '[data-hook="cart_form"]')

与产品索引相同。

app/overrides/shared/_products.rb:

 Deface::Override.new(
   virtual_path: 'spree/shared/_products',
   name: 'Remove price from products index',
   remove: "[erb-loud]:contains('display_price(product)')")

当心,根据我在1.3版本上的经验,我上面没有进行测试就编写了上面的代码,我没有安装任何Spree 2.x版本,现在我不能这样做,我看到它们将frontendbackend ,所以路径可能是spree/frontend/app/views/spree/shared_products而不是上面的,但是我对此表示怀疑。

当然,那只会从视觉上将其删除,您也可以尝试使用Product类,例如,覆盖一些基本方法,例如:

Spree::Product.class_eval do
  def on_sale?
    false
  end
end

但同样,它是基于1.3的,我只是指出您要看的地方,因为自1.3以来它可能发生了很大变化。

如果要摆脱所有签出选项的痕迹,应按照@Miotsu的说明进行操作,因为这将删除Spree的基本功能之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM