是否有空间允许我仅显示带有库存变体的产品?

时间:2015-05-22 14:51:25

标签: spree

我想改变"产品"我的Spree 3.0.x商店概述,仅显示可提供一种或多种变体的产品。这将在正常范围之上(可用,当前货币的价格)。 它也会影响分类法列表。

但我不想影响搜索页面:搜索时,应显示不可用的产品。

据我所知,{ "name": "myLocalProject", // unchanged "version": "0.0.1", // unchanged "devDependencies": { "angular": "1.3.15", //version updated "angular-resource": "1.3.15" // added to local }, "dependencies": { "components-font-awesome": "*" //stays the same in local }, "resolutions": { "angular": "1.3.15" } } Spree:Product都没有这样的范围。

如果没有这样的范围,那么在Spree::Product scopes.rb上写这个范围的joinsincludes的正确链是什么?

2 个答案:

答案 0 :(得分:3)

我可能会从以下内容开始:

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

这应该让你接近你正在寻找的东西。

答案 1 :(得分:1)

您可以使用此扩展程序:

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

默认情况下,它只是在Spree::Product添加范围而不更改默认搜索范围。您可以方便地使用提供的:on_hand范围。