我有一个狂欢网站,其中有多个不同的用户角色。某些类别的产品仅适用于某些用户(例如,批发客户可以访问批发产品)。我怎么限制这个?我试着用
做 <% if spree_current_user.has_spree_role?("wholesale") %>
<% @products = Spree::Product.find_by_sql('SELECT sp.* FROM spree_products sp LEFT JOIN spree_products_taxons spt ON spt.product_id = sp.id LEFT JOIN spree_taxons st ON spt.taxon_id = st.id WHERE st.name = "Wholesale"') %>
在显示产品的产品部分中,但这会覆盖retrieve_products方法,因此需要在某处提前完成。我在/lib/spree/core/search/base.rb retrieve_products中尝试了它但是这不能识别spree_current_user ......
抱歉是个菜鸟。任何提示将非常感激。
答案 0 :(得分:1)
首先,你必须创建扩展
在您的扩展程序下创建Context
在此文件中:
/controllers/spree/home_controller_decorator.rb
同样,您也可以为module Spree
HomeController.class_eval do
def index
@retrieve_prodcuts = # type here your @products code
end
end
end
或其他控制器执行此操作。