[英]Spree gem without checkout
我在Rails 3.2.14上使用Spree 2.0.4。 我想建立一個電子商務網站,但是它不應該具有結帳功能。 沒有結帳的電子商務網站沒有多大意義,但本質上是B2B模式,因此零售銷售不會發生。 我已經閱讀了文檔 ,並顯示了自定義結帳流程的步驟,但仍不清楚如何完全刪除此功能。 我的要求是
我想使用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版本,現在我不能這樣做,我看到它們將frontend
和backend
,所以路徑可能是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.