Из коробки ShopModxBox не заточен под несколько уровней меню. В целом это решается (когда-то была задача и выполняли ее), но на практике это костылем считается. В оффдоке бутстрапа я даже не нашел примеров мультикатегорий. getbootstrap.com/components/#navbar Сторонние решения не стал прикручивать, ибо ядро. Если кто подскажет православную верстку многоуровнего меню на бутстрапе, я доработаю менюху в сборке.

Добрый день. Многоуровневое, имеется ввиду более чем 2 уровня? Или более чем один? Просто бутстрап сам по себе не особо любит менюшки более чем двух уровней.

В десятый раз перечитал «космос-обсуждение». Может в коде процессора поменять настройки (уровень)? Убейте не могу найти файл с процессором меню. Где он лежит в папке PROCESSOR все пересмотрел… или его там и нет и добавлять нужно? Help…

Всем привет! Перелопатил все топики :( Так и не понял есть решение как переделать меню ShopModxBox в многоуровневое? Обсуждение здесь вообще «космос» и датируется 2013г. Попробовал «наборы параметров» менять для MainMenu, поставил уровень 3 — стрелки, типа сейчас откроется вложенный уровень появились в меню, но «мертвые» не работают и не показывают вложенных категорий. Направьте пожалуйста куда правильнее копать. То ли в базовом tpl {include «inc/menu/mainmenu/menu.tpl»} на что-то менять, то ли сам menu.tpl, то ли в чанках mainmenu… запутался совсем. Кто-то советует забить и пользоваться pdomenu… но это наверно не по феншую как говорит сенсей Николай. Спасибо.

Это потому что у тебя сортировка по menuindex, а я писал о publishedon. menuindex — это позиция ресурса в контейнере в дереве ресурсов слева. Articles скрывает элементы в дереве, отображая их вместо этого в таблице. Статьи у тебя идут в том же порядке, что и в этой таблице — это хорошо. Но, если ты добавишь статью с датой публикации, например прошлым годом, то она будет все равно отображаться первой, с articles ты лишаешься возможности перетаскивать ресурсы и управлять значением menuindex. Используя publishedon, ты можешь поменять дату публикации, открыв и отредактировав статью и передвинуть ее на сайте в прошлое, c menuindex — нет.

Да, я помню! Как и писал уже — после перенаправления сортировки пришлось менять местами плейсхолдеры вывода предыдущих и последующих новостей…

А я ж в первой инструкции писал про сортировку — если порядок неправильный, просто DESC вместо ASC.

  1. Путаница с порядком сортировки возникает из-за того, что у тебя направление статей от старой к новым — снизу вверх, а автор сниппета держал в голове при написании, наверное, слева направо. Управлять этим можно либо поменяв местами плейсхолдеры next и prev, либо как ты сделал — меняя порядок сортировки(возрастание/убывание).
  2. 1 и 0 — это true и false. Если есть что отображать в шаблоне, то сниппет кладет в _isactive единицу, если нет — то ноль. Это позволяет делать активные ссылки, если есть контент и неактивные, если нет. [[+sn.first]] — если текущая статья близко «старому» концу списка(третья при твоем limit=2), то от сниппета в шаблон firsttpl(если б ты его создал и использовал) придет _isactive=0 и на месте плейсхолдера [[+sn.first]] на странице отобразится неактивная ссылка(тот код, что в ветке else). [[+sn.prev]] — если текущая статья близко к «старому» концу списка(предпоследняя или последняя при твоем limit=2), то в шаблон snprevtpl придет значение _isactive=0 и на месте плейсхолдера [[+sn.prev]] отобразится код ветки else [[+sn.next]] и [[+sn.last]] — аналогично. Если текущая статья близко к «новому» краю списка, то в шаблоны, отвечающие за вывод HTML кода в эти плейсхолдеры приходит _isactive=0 и при рендеринге шаблонов snnexttpl и snlast(если б он у тебя был) на страницу попадает код из веток else. [[+sn.prevlinks]] и [[+sn.nextlinks]] — в эти плейсхолдеры подставляется код, отрендеренный с помощью чанка core/components/siblingnav/elements/chunks/snrow.chunk.html. Ты и его можешь переопределить своим чанком, если воспользуешься параметром &rowTpl. [[+sn.self]] — за вывод в него отвечает чанк core/components/siblingnav/elements/chunks/snself.chunk.html, который можно переопределить с помощью параметра selfTpl. Но с этим ты разобрался.

Вот сам вызов сниппета: <ul> [[!siblingNav? &showHidden=1 &prevTpl=snprevtpl &limit=2 &nextTpl=snnexttpl &selfTpl=snselftpl ]] [[+sn.next]][[+sn.self]][[+sn.prevlinks]]

</ul> По задумке, он должен выводить маркированный список из 4 пунктов. Сверху вниз: ссылка на следующую новость, название текущей статьи, ссылка на предыдущую новость, ссылка на пред-предыдущую!))) Все получилось, но — две нижние ссылки были поменяны местами — сверху была более старая ссылка, а ниже — более новая… по задумке нужно было наоборот! При попытке добавить параметр &sortBy=`{"menuindex":"DESC"}` , все строки целиком менялись местами, т.е., след.новость шла нижней строкой и т.д… Методом тыка пришел к такому вызову: [[!siblingNav? &showHidden=`1` &prevTpl=`snprevtpl` &limit=`2` &nextTpl=`snnexttpl` &selfTpl=`snselftpl` &sortBy=`{"menuindex":"DESC"}` ]] [[+sn.prev]][[+sn.self]][[+sn.nextlinks]] Тогда всё заработало как надо… Да, и объясните, пожалуйста, в чанке есть строка [[+_isactive:is=`1`:then=` , что это за параметр и почему там цифра 1? Я порыл в гугле, но найти не смог, к сожалению!