plazma50 19 августа 2015 2 9
Всем привет!
Перелопатил все топики :( Так и не понял есть решение как переделать меню ShopModxBox в многоуровневое? Обсуждение здесь вообще «космос» и датируется 2013г.
Попробовал «наборы параметров» менять для MainMenu, поставил уровень 3 — стрелки, типа сейчас откроется вложенный уровень появились в меню, но «мертвые» не работают и не показывают вложенных категорий. Направьте пожалуйста куда правильнее копать. То ли в базовом tpl {include «inc/menu/mainmenu/menu.tpl»} на что-то менять, то ли сам menu.tpl, то ли в чанках mainmenu… запутался совсем. Кто-то советует забить и пользоваться pdomenu… но это наверно не по феншую как говорит сенсей Николай. Спасибо.
9 комментариев
p
plazma50 20 августа 2015г в 00:40 #
В десятый раз перечитал «космос-обсуждение». Может в коде процессора поменять настройки (уровень)? Убейте не могу найти файл с процессором меню. Где он лежит в папке PROCESSOR все пересмотрел… или его там и нет и добавлять нужно? Help…
Fi1osof1
Fi1osof 20 августа 2015г в 09:51 #
Добрый день.
Многоуровневое, имеется ввиду более чем 2 уровня? Или более чем один? Просто бутстрап сам по себе не особо любит менюшки более чем двух уровней.
Fi1osof1
Fi1osof 20 августа 2015г в 09:55 #
Из коробки ShopModxBox не заточен под несколько уровней меню. В целом это решается (когда-то была задача и выполняли ее), но на практике это костылем считается. В оффдоке бутстрапа я даже не нашел примеров мультикатегорий. getbootstrap.com/components/#navbar Сторонние решения не стал прикручивать, ибо ядро. Если кто подскажет православную верстку многоуровнего меню на бутстрапе, я доработаю менюху в сборке.
p
plazma50 20 августа 2015г в 10:52 #
Спасибо! Жаль… нужно собственно 3 уровня, чтобы в одной категории было несколько категорий, а уже в них товар. Например
Главная
Телевизоры
SONY
42SC500V
50PV600E

PANASONIC
32PVR
42PAN

Приемники
TOSHIBA
и т.д.
А вот здесь с Александром Марковым вы Николай обсуждали эту тему… и вроде у Александра что-то получилось? Он нигде решение свое не выкладывал?
И еще вопрос, если богоугодного решения пока нет, то чтобы прикрутить временно стороннее решение (тот же pdomenu)правильно я понимаю нужно в базовом tpl вот эту строчку {include «inc/menu/mainmenu/menu.tpl»} закоментить, а новую от pdomenu вставлять и т.д.?

Fi1osof1
Fi1osof 21 августа 2015г в 16:08 #
А вот здесь с Александром Марковым вы Николай обсуждали эту тему… и вроде у Александра что-то получилось? Он нигде решение свое не выкладывал?
Это там уже у Саши надо спрашивать. Он не выкладывал, но может что наработал да поделится.
С
Сергей Зиненко 21 августа 2015г в 16:02 #
День добрый.
А как вам такое решение -http://geedmo.github.io/yamm3/?
По-моему, очень даже православное и аккуратное. А главное — рабочее, уже в нескольких проектах использовал.
С
Сергей Зиненко 21 августа 2015г в 16:07 #
Это к вопросу многоуровневой меню бутстрапа. Ну а при крутить pdoresources или getresources, думаю, проблем нет. Но если надо — скину пример
Fi1osof1
Fi1osof 21 августа 2015г в 16:10 #
Будем посмотреть при оказии.
p
plazma50 23 августа 2015г в 16:43 #
РЕШЕН вопрос оказывается. В одном из постов уважаемый ВДВ описал это сверх простое решение, но оно осталось не замеченным. А решение на мой взгляд гениальное. Я всего четыре последние строки добавил к его решению (в CSS) чтобы выезжающие подпункты сдвигались в сторону и красивее было. В результате 3-х уровневое меню отлично работает. Итак, нужно сделать следующее:
1. Настройка-наборы параметров-для MainMenu ставим уровень 3. Здесь же можно выключить те п.меню из которых выезжать ничего не должно {«parent:not in»:[5,110,196]}
2. В шаблон menu.tpl добавляем шаблон для подпунктов и убираем data атрибут для открытие по клику.
{block menu_params}
       {$params = [
        "parentRowTpl" => '@CODE <li[[+wf.id]] class="dropdown">
            <a href="[[+wf.link]]" title="[[+wf.title]]" [[+wf.attributes]] class="dropdown-toggle">[[+wf.linktext]] <span class="caret"></span></a>
            [[+wf.wrapper]]
        </li>',
        "rowTpl" =>'@CODE <li class="dropdown">
<a href="[[+wf.link]]" title="[[+wf.title]]" [[+wf.attributes]]>[[+wf.linktext]]</a>
</li>',
        "outerClass" => 'nav navbar-nav',
        "innerClass" => 'dropdown-menu'
    ]}
{/block}

3. В файлик assets/components/modxsite/templates/shopmodx/bundle/styles/styles.css чтобы меню раскрывалось при наведении мыши и чтобы оно было сдвинуто относительно 2-го уровня в конец дописываем

.dropdown:hover > .dropdown-menu {    
    display: block;
}
.dropdown-menu .dropdown .dropdown-menu {   
    left: 200px;
    top:-0px;
}

И ВСЁ!!! Собственно дальше можно менять эти left, top еще что-то добавлять для красоты.

Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.