狂欢定制菜单

时间:2012-06-06 19:26:37

标签: ruby-on-rails ruby ruby-on-rails-3 spree

我需要自定义Spree(v1.1.1)菜单,因为它实际上只有“Home”链接。

我试过创建一个覆盖为

Deface::Override.new(:virtual_path => "spree/shared/_main_nav_bar",
                 :name => "home-link",
                 :remove => "#home-link")

在这里,我只想删除“Home”以查看它是否有效。 我还尝试创建一个视图/app/views/spree/shared/_main_nav_bar.html.erb,但没有,我无法让它工作。

我该怎么办? 那么,为什么有时它会覆盖模板,而有时我需要覆盖来改变基本布局?我已经阅读了指南,但我找不到任何解释。它不应该只与我的覆盖/自定义视图一起使用吗?

2 个答案:

答案 0 :(得分:1)

我和你有类似的问题。因此,我创建了gem来管理spree中的菜单栏:spree_essential_menus

我认为它可以帮到你: - )

答案 1 :(得分:0)

您正在匹配不存在的文件。您要查找的文件位于https://github.com/spree/spree/blob/1-1-stable/core/app/views/spree/shared/_store_menu.html.erb

所以你希望你的代码看起来像这样:

Deface::Override.new(:virtual_path => "spree/shared/_store_menu",
             :name => "home-link",
             :remove => "#home-link")

当您查看github上的狂欢视图时,请确保您正在查看您正在使用的版本的分支。 “_main_bar_nav.html.erb”在1.1.stable分支上不存在,但在master上存在。

至于什么时候使用哪个,那就是你要改变多少。如果你正在做小调整我会使用污损。如果您正在检修整个视图系统(通常建议在大型构建中使用),那么您需要替换视图。