Spree настроить меню

Мне нужно настроить меню Spree (v1.1.1), так как на самом деле оно имеет только ссылку «Домой».

Я попытался создать переопределение как

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

Здесь я просто пытался удалить «Дом», чтобы посмотреть, сработает ли это. И я также пытался создать представление /app/views/spree/shared/_main_nav_bar.html.erb, но ничего, я не могу заставить его работать.

Как я могу сделать? Тогда почему иногда переопределение шаблонов работает, а иногда мне нужно переопределение для изменения базового макета? Я читал руководство, но не нашел объяснения по этому поводу. Разве это не должно работать только с моими переопределениями / пользовательскими представлениями?


person Community    schedule 06.06.2012    source источник


Ответы (2)


У меня просто были похожие проблемы, как у вас. В результате я создал гем для управления строками меню в веселье: spree_essential_menus.

Я думаю, это может вам помочь :-)

person Community    schedule 13.06.2012

Вы сопоставляете несуществующий файл. Файл, который вы ищете, находится по адресу 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")

Когда вы просматриваете представления spree на github, убедитесь, что вы просматриваете ветку для версии, которую используете. «_main_bar_nav.html.erb» не существует в ветке 1.1.stable, но существует в ветке master.

Что касается того, когда что использовать, это зависит от того, насколько вы хотите измениться. Если вы вносите небольшие изменения, я бы использовал дефейс. Если вы перестраиваете всю систему представлений (часто рекомендуется для больших сборок), вам нужно заменить представления.

person Joeyjoejoejr    schedule 06.06.2012