使用Spree Commerce,现在我在后端添加的每个产品都显示在主页上。有没有一种方法可以在首页上只显示我选择的产品,而不是默认显示所有内容?
我知道deface允许我自定义一切的外观,但这不是我要找的答案。
由于
答案 0 :(得分:0)
Deface用于更改视图而不是控制器。从DB获取产品是控制器逻辑。
有很多选项,您可以在产品模型中添加自己的范围并覆盖控制器以使用它们,但最快的是使用discontinue_on
,因为对于非管理员用户狂欢通常使用active
范围产品。
答案 1 :(得分:0)
找到答案:我刚刚将@products = @ searcher.retrieve_products更改为@products = Product.joins(:variants_including_master).where(:name =>" Ruby on Rails Tote")。uniq在home_controller_decorator.rb中的索引操作
答案 2 :(得分:0)
@elliot其实这很简单。转到管理端的产品编辑页面,并为该产品设置discontinue_on
,其日期等于当前日期或更短。
只有那些产品在前端可见,available_on
小于当前日期且discontinue_on
大于当前日期。