К содержанию

[РЕШЕНО] pdoMenu не выводить второй уровень

Вызываю вот так:

[[pdoMenu? 
    			&context=`[[*context_key]]`
    			&select=`id,pagetitle`
    			&parents=`0, -229`
    			&level=`2`
    			&where=`[{"template":16,"OR:template:=":13}]`
    			&tpl=`@INLINE <li id="menu[[+id]]"><a href="[[+link]]">[[+pagetitle]]</a><span></span></li>`
    			&tplOuter=`@INLINE [[+wrapper]]`
    			&tplParentRow=`@INLINE <ul id="submenu">[[+wrapper]]</ul>`
    		]]
не выходит меню второго уровня. Все равно как будто &level=`1`
MrKarandash
MrKarandash
02 марта 2015, 22:48
modx.pro
6 048
Реклама

Комментарии: 20

Юрий Эффа
Юрий Эффа Проверенный
03 марта 2015, 11:39
В &tpl [[+wrapper]] добавьте
    MrKarandash
    MrKarandash Старожил
    03 марта 2015, 21:10
    [[!pdoMenu? 
        			&context=`[[*context_key]]`
        			&select=`id,pagetitle`
        			&parents=`0, -229`
        			&level=`2`
        			&where=`[{"template":16,"OR:template:=":13}]`
        			&tpl=`@INLINE <li id="menu[[+id]]"><a href="[[+link]]">[[+pagetitle]]</a><span></span></li>[[+wrapper]]`
        			&tplOuter=`@INLINE [[+wrapper]]`
        			&tplParentRow=`@INLINE <ul id="submenu">[[+wrapper]]</ul>`
        		]]


    Не помогло
    MrKarandash
    MrKarandash Старожил
    04 марта 2015, 00:24
    <pre class="pdoMenuLog">0.0078521: pdoTools loaded
    0.0000420: xPDO query object created
    0.0002062: Added selection of <b>modResource</b>: <small>SQL_CALC_FOUND_ROWS `id`, `pagetitle`</small>
    0.0006330: Processed additional conditions
    0.0014842: Added where condition: <b>template=16, OR:template:==13, modResource.parent:IN(0), modResource.parent:NOT IN(229,231,232,233,234,235,236,237,238,239,240), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0, modResource.context_key=web</b>
    0.0001390: Sorted by <b>modResource.menuindex</b>, <b>ASC</b>
    0.0005319: SQL prepared <small>"SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`pagetitle` FROM `modx_site_content` AS `modResource` WHERE  (  ( `modResource`.`template` = 16 OR `modResource`.`template` = 13 )  AND `modResource`.`parent` IN (0) AND `modResource`.`parent` NOT IN (229,231,232,233,234,235,236,237,238,239,240) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' )  ORDER BY modResource.menuindex ASC "</small>
    0.0000460: SQL executed
    0.0000908: Total rows: <b>10</b>
    0.0000191: Rows fetched
    0.0000441: Returning raw data
    0.0000129: Tree was built
    0.0000122: Start template tree
    0.0005910: Created inline chunk
    0.0028558: End template tree
    0.0003650: Created inline chunk
    0.0145040: <b>Total time</b>
    10 223 616: <b>Memory usage</b>
    </pre>
      MrKarandash
      MrKarandash Старожил
      04 марта 2015, 12:28
      Ни у кого никаких идей?
        Михаил
        Михаил Эксперт
        04 марта 2015, 14:40
        Документация.
        Почитайте. Там прекрасно все описанно.
        &tplInner	Чанк обертки внутренних пунктов меню. Если пуст - будет использовать 
        &tplInnerRow	Чанк обертка внутреннего пункта меню
          MrKarandash
          MrKarandash Старожил
          04 марта 2015, 19:48
          [[!pdoMenu? 
              			&context=`[[*context_key]]`
              			&select=`id,pagetitle`
              			&parents=`0, -229`
              			&level=`2`
              			&templates=`16,13`
              			&tplOuter=`@INLINE [[+wrapper]]`
              			&tpl=`@INLINE <li id="menu[[+id]]"><a href="[[+link]]">[[+pagetitle]]</a><span></span>[[+wrapper]]</li>`
              			&tplInner=`@INLINE <ul id="submenu">[[+wrapper]]</ul>`
              			&tplInnerRow=`@INLINE <li><a href="[[+link]]">[[+pagetitle]]</a></li>`
              			&tplParentRow=`@INLINE <ul id="submenu">[[+wrapper]]</ul>`
              		]]
          Читал, результат тот же
            Михаил
            Михаил Эксперт
            04 марта 2015, 19:53
            Давайте ссылку, посмотрим что там. Или в скайп eletricatg
              MrKarandash
              MrKarandash Старожил
              04 марта 2015, 19:58
              Вы не правильно скайп написали )) sanekfomenko — вот мой
        MrKarandash
        MrKarandash Старожил
        04 марта 2015, 22:07
        В общем проблема так и не решена…
          Василий Наумкин
          Василий Наумкин Администратор
          04 марта 2015, 22:24
          А ты не рассматриваешь вариант, что меню просто не может быть построено для второго уровня, учитывая ограничения по родителям и шаблонам?

          Ну, то есть, вдруг там не выбирается вообще нужный для второго уровня документ? Если с чанками всё в порядке, то у меня только такой вариант.
            MrKarandash
            MrKarandash Старожил
            04 марта 2015, 23:03
            я убирал &templates=`16,13`, делал &parents=`0`, хотя в этих корневых папках-разделах тоже лежат доки с шаблонами 16 и 13 и все равно оно выводит только корневые папки
              Николай
              Николай Старожил
              05 марта 2015, 04:21
              &showHidden=`1`
              ?
                MrKarandash
                MrKarandash Старожил
                05 марта 2015, 11:19
                так же
          Sergey Pozhidaev
          Sergey Pozhidaev Проверенный
          05 марта 2015, 05:54
          У меня @INLINE жутко глючит, выношу все в чанки.
            MrKarandash
            MrKarandash Старожил
            05 марта 2015, 11:19
            Попробовал — результат такое же
              Василий Наумкин
              Василий Наумкин Администратор
              05 марта 2015, 13:40
              Хочешь сказать, что и вот так не работает?
              [[!pdoMenu?
              	&parents=`0`
              	&level=`2`
              ]]

              Я только сейчас заметил
              &select=`id,pagetitle`
              Интересно, как должно построиться меню без выборки поля parent?
                MrKarandash
                MrKarandash Старожил
                05 марта 2015, 21:04
                Вот так — выводит

                [[!pdoMenu?
                                &context=`[[*context_key]]`
                                &select=`id,pagetitle,parent`
                            	&parents=`0`
                            	&level=`2`
                            	&templates=`16,13,18,19`
                            	&tplOuter=`@INLINE [[+wrapper]]`
                            	&tpl=`@INLINE <li><a href="[[+link]]">[[+menutitle]]</a><span></span>[[+wrapper]]</li>`
                            	&tplInner=`@INLINE <ul id="submenu">[[+wrapper]]</ul>`
                            	&tplInnerRow=`@INLINE <li><a href="[[+link]]">[[+pagetitle]]</a></li>`
                            ]]


                Но если я добавляю в &parents=`0, -229` то уровни клинит и выводится только первый :\

            Sergey Pozhidaev
            Sergey Pozhidaev Проверенный
            06 марта 2015, 04:05
            А просто галочку поставить «Не показывать в меню»? Если ресурсов конечно не много. Если много, можно скриптом проставить. Ну это конечно не выход, но как временный вариант.
              Sergey Pozhidaev
              Sergey Pozhidaev Проверенный
              06 марта 2015, 04:36
              Да, и если уберете 0 из поля parents, то все заработает. Проверил сейчас у себя.
                MrKarandash
                MrKarandash Старожил
                06 марта 2015, 17:59
                Помогло. Спасибо большое!
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                20