是否有一个范围,让我只显示产品与股票变种?(Is there a scope to allow me

2019-10-23 04:59发布

我想改变我的施普雷3.0.x的店铺的“产品”概述仅显示有可以提供一个或多个变型产品。 这将是在正常范围的顶部(可提供,价格在目前的货币)。 这也将影响到分类结果列表。

我不想影响到搜索页面,虽然:在搜索时,无法使用的产品应该显示出来。

据我所看到的,有没有这样的范围,既不在Spree:Product也不在Spree::Product scopes.rb

如果没有这样的范围内,会是什么的正确链joins -和includes写在这个范围内Product

Answer 1:

我可能会喜欢的东西开始:

Spree::Product.joins(
  variants_including_master: :stock_items
).group('spree_products.id').having("SUM(count_on_hand) > 0")

这应该给你接近你在找什么。



Answer 2:

你可以使用这个扩展:

https://github.com/swrobel/spree_zero_stock_products/

默认情况下,它只是增加了一个范围,以Spree::Product在不改变默认的搜索范围。 您可以使用所提供的:on_hand在方便的范围。



文章来源: Is there a scope to allow me to show only products with variants with stock?
标签: spree