在产品页面上显示狂欢分类树

时间:2014-05-28 22:09:11

标签: ruby-on-rails-4 spree

我正在运行Spree 2.2。我试图让标准的分类/过滤器列表出现在Spree的每个产品页面上,但我找不到它在哪里决定要显示的侧边栏内容。如果有人能够明白我在哪里/如何决定我会非常感激。

1 个答案:

答案 0 :(得分:2)

在spree的前端部分,更具体地说,在产品控制器的索引视图中,路由 spree_frontend / app / views / spree / products / index.html.erb 在该文件中,它决定是否显示分类单元:

<% content_for :sidebar do %>
  <div data-hook="homepage_sidebar_navigation">
    <% if "spree/products" == params[:controller] && @taxon %>
      <%= render :partial => 'spree/shared/filters' %>
    <% else %>
      <%= render :partial => 'spree/shared/taxonomies' %>
    <% end %>
  </div> 
<% end %>

所以你可以做的是写一个指向 products / show 视图任何部分的覆盖,特别是我建议在 product_left_part_wrap&#34; 数据之后 - hook,wich是产品展示视图中侧边栏的包装,因此您的污点看起来像这样:

Deface::Override.new(
  :virtual_path => 'spree/products/show',
  :name => 'add_map_to_product_show',
  :insert_after => '[data-hook="product_left_part_wrap"]',
  :partial => "spree/products/the_taxons_and_filters"
)

在位于 app / views / spree / products / 的名为 _the_taxons_and_filters.html.erb 的文件中,您可以添加上面的代码并包含分类过滤器。希望这有用。