We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 49487
    • 1 Posts
    Добрый день!
    Позавчера начал изучать modx. Встроил шаблон, создал страницы, а вот вывести меню не получается.
    Для меню решил использовать pdomenu, промучался 12 часов но так и не смог вывести меню с классами bootstrap.

    Проблема в следующем...
    Для вывода 3х-уровневого меню использую такую конструкцию которую нашел в интернете:
    [[pdoMenu?
    &startId=`0`
    &level=`3`
    &tplParentRow =`@INLINE
    <li class="[[+classnames]] dropdown">
    <a href="[[+link]]" class="dropdown-toggle" [[+attributes]] data-hover="dropdown" data-delay="100" data-close-others="false">[[+menutitle]]<b class="caret"></b></a>
    <ul class="dropdown-menu">[[+wrapper]]</ul>
    </li>`
    &tplOuter=`@INLINE [[+wrapper]]`
    &tplInner = `<li class="dropdown-submenu">[[+wrapper]]</li>`
    ]]

    Итогом работы это конструкции выводится следующее:
    <li class="dropdown">
    <a href="http://" class="dropdown-toggle" data-hover="dropdown" data-delay="100" data-close-others="false">Курсы<b class="caret"></b></a>
       <ul class="dropdown-menu">
         <li class="dropdown">
            <a href="http://" class="dropdown-toggle" data-hover="dropdown" data-delay="100" data-close-others="false">Направление "Красота и здоровье"<b class="caret"></b></a>
    <ul class="dropdown-menu">
         <li class="first"><a href="парикмахерское-искусство.html">Парикмахерское искусство</a></li>
         <li class="last"><a href="практический-массаж.html">Практический массаж</a></li></ul>
    </li>
    <li class="dropdown">
    <a href="http://" class="dropdown-toggle" data-hover="dropdown" data-delay="100" data-close-others="false">Направление "Компьютеры"<b class="caret"></b></a>
    			<ul class="dropdown-menu">
    <li class="first"><a href="пользователь-пк.html">Пользователь ПК</a></li>
    </ul>
    </li>
    </ul>
    </li> 

    Вроде бы все нормально, работает. Вот только один уровень появляется поверх другого, а не справа из за того что используется класс dropdown что бы показать третий уровень меню, а нужно использовать dropdown-submenu.
    т.е. сейчас получается следующее:
    1) Уровень класс "dropdown"
    2) Уровень класс "dropdown-menu"
    3) Уровень класс "dropdown" (просто берется кусок кода из формирования первого уровня)

    А нужно получить:
    1) Уровень класс "dropdown"
    2) Уровень класс "dropdown-menu"
    3) Уровень класс "dropdown-submenu"

    Но как не пытался, не смог разделить код на составляющие для каждого уровня меню.
    Помогите, если кто знает как решить это.

    Еще бы хотелось узнать от куда берутся плейсхолдеры типа [[+wrapper]] и [[+classnames]] например. Если с [[+link]] и [[+menutitle]] все понятно, то с остальным не ясно от куда они берут свои значения. Объясние если кому не сложно.
      • 52996
      • 15 Posts
      1) Уровень класс "dropdown"
      2) Уровень класс "dropdown-menu"
      3) Уровень класс "dropdown-submenu"
      Так не получите)
      Но 3х, 4х, 5, ..20 уровнивое меню тем не менее свободно можете сгенерировать и оформить, вот посмотрите урок: Вывод многоуровневого Bootstrap меню (с неограниченной вложенностью) в MODX при помощи PdoMenu - https://web-revenue.ru/mnogourovnevoe-modx-menyu-s-ispolzovaniem-bootstrap