pdoMenu не выводит с параметром resourses. Modx pdomenu


pdoMenu не выводит с параметром resourses / modx.pro

Пытаюсь вывести главное меню таким образом, но ничего не выводится(в коде страницы только лог)

[[pdoMenu? &resources=`1,2,3,4` &tpl=`@INLINE <li[[+classes]]><a href=«domainName.ru/[[+link]]» [[+attributes]]>[[+menutitle]][[+wrapper]]` &showLog=`1` ]]

лог: 0.0073810: pdoTools loaded 0.0000422: xPDO query object created 0.0004258: Added selection of <b>modResource</b>: <small>`id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`</small> 0.0007050: Processed additional conditions 0.0012012: Added where condition: <b>modResource.id:IN(1,2,3,4), modResource.parent:IN(1), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0, modResource.context_key=web</b> 0.0001261: Sorted by <b>modResource.menuindex</b>, <b>ASC</b> 0.0003860: SQL prepared <small>"SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties` FROM `r7bc8_site_content` AS `modResource` WHERE ( `modResource`.`id` IN (1,2,3,4) AND `modResource`.`parent` IN (1) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' ) ORDER BY modResource.menuindex ASC "</small> 0.0001640: SQL executed 0.0000122: Rows fetched 0.0000129: Returning raw data 0.0000019: Tree was built 0.0099359: <b>Total time</b> 4 194 304: <b>Memory usage</b>

при этом через parents все работает

версия pdoTools: 2.11.1-pl структура ресурсов на скрине

modx.pro

pdoMenu / Сниппеты / pdoTools / docs.modx.pro

Сниппет генерации меню. Может заменять Wayfinder, и позволяет более гибко указывать параметры.

Например, умеет строить меню сразу из нескольких родителей, отображая их как вместе, так и отдельными ветками.

Существенный прирост скорости дает только при первом запуске, дальше Wayfinder не особо уступает, благодаря грамотному кэшированию.

Параметры

Название По умолчанию Описание
&parents Текущий ресурс Список родителей, через запятую, для поиска результатов. Если поставить 0 - выборка не ограничивается. Если id родителя начинается с дефиса, он и его потомки исключаются из выборки.
&level 0 (не ограниченно) Уровень генерируемого меню.
&resources Список ресурсов, через запятую, для вывода в результатах. Если id ресурса начинается с дефиса, этот ресурс исключается из выборки.
&templates Список шаблонов, через запятую, для фильтрации результатов. Если id шаблона начинается с дефиса, ресурсы с ним исключается из выборки.
&where Массив дополнительных параметров выборки, закодированный в JSON.
&displayStart 0 Включить показ начальных узлов меню. Полезно при указании более одного «parents».
&context Ограничение выборки по контексту ресурсов.
&showHidden 0 Показывать ресурсы, скрытые в меню.
&showUnpublished 0 Показывать неопубликованные ресурсы.
&previewUnpublished 0 Включить показ неопубликованных документов, если у пользователя есть на это разрешение.
&hideSubMenus 0 Спрятать неактивные ветки меню.
&select Список полей для выборки, через запятую. Можно указывать JSON строку с массивом, например {"modResource":"id,pagetitle,content"}.
&sortby menuindex Любое поле ресурса для сортировки, включая ТВ параметр, если он указан в параметре &includeTVs, например {"tvname":"ASC", "pagetitle":"DESC"}. Можно указывать JSON строку с массивом нескольких полей. Для случайно сортировки укажите «RAND()»
&sortdir ASC Направление сортировки: по убыванию или возрастанию. Если оставить параметры &sortby и &sortdir пустыми, то сортировка будет идти по порядку ресурсов в &resources.
&limit 0 Ограничение количества результатов выборки. Можно использовать «0».
&offset 0 Пропуск результатов от начала. Необходимо использовать вместе с явно указанным &limit
&checkPermissions Укажите, какие разрешения нужно проверять у пользователя при выводе документов. Например &checkPermissions=`list`.
&countChildren 0 Точный подсчет количества дочерних ресурсов каждой категории и вывод их в плейсхолдер [[+children]]. Делает дополнительные запросы в БД, поэтому по умолчанию отключен.
&toPlaceholder Если не пусто, сниппет сохранит все данные в плейсхолдер с этим именем вместо вывода на экран.
&plPrefix wf. Префикс для выставляемых плейсхолдеров
&showLog 0 Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контекcте «mgr».
&fastMode 0 Быстрый режим обработки чанков. Все необработанные теги (условия, сниппеты и т.п.) будут вырезаны.
&cache 0 Кэширование результатов работы сниппета.
&cacheTime 3600 Время актуальности кэша, в секундах.
&scheme -1 Схема формирования url, передаётся в modX::makeUrl(), поэтому возможные варианты нужно смотреть здесь. Особый тип uri подставляет значение uri ресурса, без запуска функции.
&useWeblinkUrl 1 Генерировать ссылку с учетом класса ресурса.
&rowIdPrefix Префикс для выставления идентификатора в чанк.
&hereId Id документа, текущего для генерируемого меню. Нужно указывать только если скрипт сам его неверно определяет, например при выводе меню из чанка другого сниппета.
&includeTVs Список ТВ параметров для выборки, через запятую. Например: «action,time» дадут плейсхолдеры [[+action]] и [[+time]].
&tvPrefix Префикс для ТВ параметров.

Параметры шаблонов

Эти параметры устанавливают чанки, которые содержат шаблоны для генерации меню.

Название Описание
&tplOuter Чанк обертка всего блока меню. По умолчанию: @INLINE <ul[[+classes]]>[[+wrapper]]</ul>
&tpl Имя чанка для оформления ресурса. Если не указан, то содержимое полей ресурса будет распечатано на экран. По умолчанию: @INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>
&tplParentRow Чанк оформления контейнера с потомками
&tplParentRowHere Чанк оформления текущей категории
&tplHere Чанк текущего документа
&tplInner Чанк обертки внутренних пунктов меню. Если пуст - будет использовать &tplOuter
&tplInnerRow Чанк обертка внутреннего пункта меню
&tplInnerHere Чанк обертка активного пункта меню
&tplParentRowActive Чанк оформления активной категории
&tplCategoryFolder Специальный чанк оформления категории. Категория - это документ с «isfolder = 1» и или нулевым шаблоном, или с атрибутом "rel=category"
&tplStart Чанк оформления корневого пункта, при условии, что включен &displayStart. По умолчанию: @INLINE <h3[[+classes]]>[[+menutitle]]</h3>[[+wrapper]]

Параметры CSS классов

Эти параметры задают значение плейсхолдера [[+classes]] для различных элементов меню.

Название Описание
&firstClass Класс для первого пункта меню. По умолчанию: first
&lastClass Класс последнего пункта меню. По умолчанию: last
&hereClass Класс для активного пункта меню. По умолчанию: active
&parentClass Класс категории меню.
&rowClass Класс одной строки меню.
&outerClass Класс обертки меню.
&innerClass Класс внутренних ссылок меню.
&levelClass Класс уровня меню. Например, если укажите «level», то будет «level1», «level2» и т.д.
&selfClass Класс текущего документа в меню.
&webLinkClass Класс документа-ссылки.

Примеры

Обычный вывод меню из корня сайта в один уровень:

[[pdoMenu? &parents=`0` &level=`1` ]]

Вывод с исключением определенных родителей и проверкой разрешений пользователя:

[[pdoMenu? &parents=`-10,-15` &level=`2` &checkPermissions=`load,list,view` ]]

Вывод меню сразу из двух родителей, с показом корневых точек:

[[pdoMenu? &parents=`10,15` &displayStart=`1` ]]

Вывод двух уровней документов с подсчетом количества вложенных ресурсов:

[[pdoMenu? &parents=`0` &level=`2` &tplInner=`@INLINE [[+wrapper]]` &tplParentRow=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a> ([[+children]])</li>[[+wrapper]]` &countChildren=`1` ]]

docs.modx.pro

Мега меню с PdoMenu / modx.pro

Всем ДВС! Помогите с реализацией мега меню сниппетом pdoMenu. Проблема в том что один из пунктов меню имеет свой шаблон (услуги) с выводом своих потомков в несколько колонок, и у каждого потомка по несколько ресурсов. Обыскал все, находил много решений но не одно ни смог реализовать к сожалению, видимо из за недостатка опыта и знаний. Пробовал реализовать с помощью параметра &tplCategoryFolder, ни чего не получилось, получается какая то каша. Пробовал реализовать с помощью условий создав два tpl шаблона, один с стандартным выпадающим меню, второй шаблон как раз с мега меню, и условием типа [[+id:is=`2`:then=`[[$dropdownMenuMega]]`:else=`[[$dropdownMenu]]`]], где 2 это как раз ID пункта меню которое должно выводить мега, а остальные обычное выпадающее, а в самом параметре &tplParentRow указал чанк где прописано данное условие. Короче тоже не получилось. Плагин самостоятельно написать не смогу не хватает знаний(((( Видел статью где данное меню реализовывается с помощью pdoResources, но в данном решение любое выпадающее меню, является мега, поэтому проблем с его реализацией нет! У меня же проблема как определить отдельный шаблон для отдельного пункта. Один парень мне предлагал решить проблему двумя вызовами pdoMenu (в теории), но на практике ни чего не получилось. Пробовал решить с помощью &tpl_N, но в pdoMenu данный параметр не работает, позже нашел топик с комментариями гуру Modx.)) Там же почитал что можно реализовать с помощью шаблонизатора Fenom прописав условия, но к сожалению не хватает знаний… Вот мое меню<nav> <ul> <li><a href="ссылка">Главная</a></li> <li><a href="#">О компании</a></li> <li><a href="#">Услуги</a> <div> <div> <h5><span></span>Гидравлика</h5> <ul> <li><a href="ссылка">Услуга</a></li> <li><a href="ссылка">Услуга</a></li> </ul> </div> <div> <h5><span></span>Запчасти</h5> <ul> <li><a href="ссылка">Услугаr</a></li> <li><a href="ссылка">Услуга</a></li> </ul> </div> <div> <h5><span></span>ДВС</h5> <ul> <li><a href="ссылка">Услуга</a></li> <li><a href="ссылка">Услуга</a></li> </ul> </div> <div> <h5><span></span>Металлообработка</h5> <ul> <li><a href="ссылка">Услуга</a></li> <li><a href="ссылка">Услуга</a></li> </ul> </div> <div> <h5><span></span>Масла</h5> <ul> <li><a href="ссылка">Услуга</a></li> <li><a href="ссылка">Услуга</a></li> </ul> </div> </div> </li> <li><a href="ссылка">Наши работы</a> <div> <ul> <li><a href="ссылка">Гидроцилиндры</a></li> <li><a href="ссылка">Гидромоторы</a></li> <li><a href="ссылка">Гидронасосы</a></li> </ul> </div> </li> <li><a href="ссылка">Новости</a></li> <li><a href="ссылка">Контакты</a></li> --> </ul> </nav>Вот сайт, где можно наглядно посмотреть как оно выглядит

Структура сайта следующая:

Главная О компании Услуги <--!это и есть мега меню--> Подуслуга Подподуслуга Подподуслуга Подуслуга Подподуслуга Подподуслуга Подуслуга Подподуслуга Подподуслуга Подуслуга Подподуслуга Подподуслуга Подуслуга Подподуслуга Подподуслуга Портфолио <!--это обычное выпадающее меню --> Пример пример пример Новости КонтактыГоспода может быть найдутся кто сможет подсказать в решении данной задачи, тыкнуть пальцем на какую либо статейку где описаны похожие примеры? Сразу скажу что прочитал всю документацию pdoTools и не нашел ни чего полезного 3 день просто перекапываю гугл и яндекс так же безрезультатно. Где находил схожие проблемы других людей, там не было решения. Заранее спасибо!

modx.pro

Помогите сделать меню в PdoMenu / modx.pro

Добрый день. Возникла проблема с организацией меню. Раньше работал с Wayfinder, а теперь решил сделать на Bootstrap и PdoTools, но никак не могу въехать как организовать меню. Как известно, Bootstrap 3 не позволяет сделать многоуровневое меню. Нашёл где-то костыль, плюс сторонние скрипты для hover эффекта на touch девайсах. Меню выглядит как-то так:<!-- Navbar --> <div role="navigation"> <div> <button type="button" data-toggle="collapse" data-target=".navbar-collapse"> <span>Toggle navigation</span> <span></span> <span></span> <span></span> </button> <a href="#"><img src="grinlib_building.jpg" alt="" title="" /></a> </div> <div> <ul> <form action="#" method="post"> <div> <input type="text" placeholder="Поиск по сайту"> <span><i></i></span> </div> </form> </ul> <!-- Left nav --> <ul> <li><a href="#">Submenu 1 <span></span></a> <ul> <li><a href="#">Submenu 1.1 <span></span></a> <ul> <li><a href="#">Article 1</a></li> <li><a href="#">Article 2</a></li> <li><a href="#">Article 3</a></li> </ul> </li> <li><a href="#">Submenu 1.2 <span></span></a> <ul> <li><a href="#">Article 1</a></li> <li><a href="#">Article 2</a></li> <li><a href="#">Article 3</a></li> </ul> </li> </ul> </li> <li><a href="#">Submenu 2 <span></span></a> <ul> <li><a href="#">Submenu 2.1 <span></span></a> <ul> <li><a href="#">Article 1</a></li> <li><a href="#">Article 2</a></li> <li><a href="#">Article 3</a></li> </ul> </li> <li><a href="#">Submenu 2.2 <span></span></a> <ul> <li><a href="#">Article 1</a></li> <li><a href="#">Article 2</a></li> <li><a href="#">Article 3</a></li> </ul> </li> </ul> </li> <li><a href="#">Submenu 3 <span></span></a> <ul> <li><a href="#">Article 1</a></li> <li><a href="#">Article 2</a></li> <li><a href="#">Article 3</a></li> </ul> </li> </ul> </div> </div><!--/.nav-collapse -->Тему на форуме () читал. Мануал по PdoTools тоже.

В общем, буду очень благодарен за пинок в нужном направлении.

modx.pro

Как решить конфликт where и level в pdoMenu? / modx.pro

Всем привет! Натолкнулся на странную особенность работы pdoMenu с параметрами where и level. Нужно вывести двухуровневое меню, при этом исключив вывод детей одного из разделов.

Обычный вызов (без исключения детей) pdoMenu срабатывает ожидаемо правильно:

{$_modx->runSnippet('!pdoMenu', [ 'parents' => 0, 'level' => 2 ])}0.0262520: pdoTools loaded 0.0000300: xPDO query object created 0.0002210: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties` 0.0000401: Processed additional conditions 0.0005202: Added where condition: modResource.parent:IN(1,6,7,8,9,10,11,4,3,2), OR:modResource.id:IN(1,6,7,8,9,10,11,4,3,2), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0, modResource.context_key=web 0.0000892: Sorted by modResource.menuindex, ASC 0.0006011: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties` FROM `modx_site_content` AS `modResource` WHERE ( ( `modResource`.`parent` IN (1,6,7,8,9,10,11,4,3,2) OR `modResource`.`id` IN (1,6,7,8,9,10,11,4,3,2) ) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' ) ORDER BY modResource.menuindex ASC " 0.0011301: SQL executed 0.0003099: Total rows: 12 0.0001092: Rows fetched 0.0001609: Returning raw data 0.0000179: Tree was built 0.0000150: Start template tree 0.0014200: Created inline "modChunk" with name "ad22a6773e8643db35baf6e56fa79c5d" 0.0016170: Created inline "modChunk" with name "f740ee02c84d926aea0dd1da693c7bc4" 0.0002789: Created inline "modChunk" with name "9a702cd93356447e6788156aba8d7d10" 0.0033052: End template tree 0.0363512: Total time 4 194 304: Memory usage

А теперь произойдет неожиданное: При добавлении параметра where, что-то ломается и pdoMenu игнорирует level:

{$_modx->runSnippet('!pdoMenu', [ 'parents' => 0, 'level' => 2, 'where' => '{"parent:!=":9}', ])}0.0096920: pdoTools loaded 0.0000279: xPDO query object created 0.0002291: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties` 0.0000250: Processed additional conditions 0.0002391: Added where condition: parent:!==9, modResource.published=1, modResource.hidemenu=0, modResource.deleted=0, modResource.context_key=web 0.0000770: Sorted by modResource.menuindex, ASC 0.0002990: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties` FROM `modx_site_content` AS `modResource` WHERE ( `modResource`.`parent` != 9 AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' ) ORDER BY modResource.menuindex ASC " 0.0007300: SQL executed 0.0000939: Total rows: 16 0.0002019: Rows fetched 0.0001600: Returning raw data 0.0000160: Tree was built 0.0000091: Start template tree 0.0007699: Created inline "modChunk" with name "ad22a6773e8643db35baf6e56fa79c5d" 0.0013142: Created inline "modChunk" with name "f740ee02c84d926aea0dd1da693c7bc4" 0.0001838: Created inline "modChunk" with name "496d0378e05b9873977cb2610f9aadf5" 0.0029252: End template tree 0.0172060: Total time 4 194 304: Memory usage Это баг, фича или собственный затуп?

modx.pro


Prostoy-Site | Все права защищены © 2018 | Карта сайта