我需要自定义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
,但没有,我无法让它工作。
我该怎么办? 那么,为什么有时它会覆盖模板,而有时我需要覆盖来改变基本布局?我已经阅读了指南,但我找不到任何解释。它不应该只与我的覆盖/自定义视图一起使用吗?
答案 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上存在。
至于什么时候使用哪个,那就是你要改变多少。如果你正在做小调整我会使用污损。如果您正在检修整个视图系统(通常建议在大型构建中使用),那么您需要替换视图。