Блог вебмастера. Pdomenu modx примеры
Modx Revolution Pdomenu | Fitweb
веб-разработка
создание корпоративного сайта на modx revolution
создание сайта на modx
создание сайтов
видео-уроки modx
создание меню
разработка сайтов
Интернет-магазин
продвижение сайтов
оптимизация сайтов
seo продвижение
MODX для начинающих
интернет магазин
MODX для новичков
работа с шаблонами modx revo
как вывести меню modx revo
modx revo советы при разработке
создать интернет-магазин бесплатно
вывод товаров
создание блога
minishop2 категории
modx revolution minishop 2
Вывод ресурсов при помощи pdoResources
Вывод страниц при помощи pdoResources
галерея на modx revo
фотогалерея modx revolution
вывод комментариев на modx revolution
Tickets и Jevix на modx revo
could not load snippet jevix
комментарии на modx revo
MODX создание сайта
Школа Современных технологий
хлебные крошки modx
включить fenom modx
modx fenom вызов чанка
Создание блога на MODX
Верстка сайтов
Создание сайта за 2 часа
bootstrap пагинация
страница каталога
MODX настройка системы
Школа Современных Технологий
modx revolution каталог
modx страница каталога
modx карточка товара
вывод слайдера modx
вывести слайдер modx
настройка чпу в modx
оформление PageNav
Вывод страниц при помощи pdopage
Вывод ресурсов при помощи pdopage
установка modx xampp
установка modx на локальный компьютер
content management system
modx создание шаблона
modx создание меню
вывод изображений
тв поля modx revolution
создание tv полей modx revolution
настройка тв на modx revo
социальные сети
fitweb.me
pdoMenu многоуровневое. Проблема
Здравствуйте! Пытаюсь сделать меню с помощью pdoTools. Меню многоуровневое. Если level поставлен на 1, то проблем никаких, но если level больше 1, то тогда на том месте в меню, где должна отображаться ссылка с текущим положением (обычная ссылка просто active класс) появляется код ниже, а самой ссылки нет (( В чем проблема?Array ( [id] => 114 [type] => document [contentType] => text/html [pagetitle] => Примеры работ [longtitle] => РПримеры работ [description] => Description [alias] => primery-rabot [link_attributes] => [published] => 1 [pub_date] => 0 [unpub_date] => 0 [parent] => 112 [isfolder] => 0 [introtext] => [content] => Страница находится в разработке [richtext] => 1 [template] => 4 [menuindex] => 5 [searchable] => 1 [cacheable] => 1 [createdby] => 1 [createdon] => 1452271504 [editedby] => 1 [editedon] => 1452271616 [deleted] => 0 [deletedon] => 0 [deletedby] => 0 [publishedon] => 0 [publishedby] => 0 [menutitle] => Примеры работ [donthit] => 0 [privateweb] => 0 [privatemgr] => 0 [content_dispo] => 0 [hidemenu] => 0 [class_key] => modDocument [context_key] => web [content_type] => 1 [uri] => nashi-rabotyi/primery-rabot/ [uri_override] => 0 [hide_children_in_tree] => 0 [show_in_tree] => 1 [properties] => [idx] => 1 [last] => [level] => 2 [children] => 0 [wrapper] => [classnames] => first active [classNames] => first active [classes] => class=«first active» [link] => dawoda.ru/nashi-rabotyi/primery-rabot/ [title] => Примеры работ [wf.docid] => 114 [wf.type] => document [wf.contentType] => text/html [wf.pagetitle] => Примеры работ [wf.longtitle] => РПримеры работ [wf.description] => Description [wf.alias] => primery-rabot [wf.attributes] => [attributes] => [wf.published] => 1 [wf.pub_date] => 0 [wf.unpub_date] => 0 [wf.parent] => 112 [wf.isfolder] => 0 [wf.introtext] => [wf.content] => Страница находится в разработке [wf.richtext] => 1 [wf.template] => 4 [wf.menuindex] => 5 [wf.searchable] => 1 [wf.cacheable] => 1 [wf.createdby] => 1 [wf.createdon] => 1452271504 [wf.editedby] => 1 [wf.editedon] => 1452271616 [wf.deleted] => 0 [wf.deletedon] => 0 [wf.deletedby] => 0 [wf.publishedon] => 0 [wf.publishedby] => 0 [wf.linktext] => Примеры работ [wf.menutitle] => Примеры работ [wf.donthit] => 0 [wf.privateweb] => 0 [wf.privatemgr] => 0 [wf.content_dispo] => 0 [wf.hidemenu] => 0 [wf.class_key] => modDocument [wf.context_key] => web [wf.content_type] => 1 [wf.uri] => nashi-rabotyi/primery-rabot/ [wf.uri_override] => 0 [wf.hide_children_in_tree] => 0 [wf.show_in_tree] => 1 [wf.properties] => [wf.idx] => 1 [wf.last] => [wf.level] => 2 [wf.subitemcount] => 0 [wf.wrapper] => [wf.classnames] => first active [wf.classNames] => first active [wf.classes] => class=«first active» [wf.link] => dawoda.ru/nashi-rabotyi/primery-rabot/ [wf.title] => Примеры работ )
modx.ru
Как фильтровать данные tv в modx через pdoPage — Блог вебмастера
На modx можно делать интересные вещи. Не зря много веб-компаний делают порталы, интернет-магазины, мощные сервисы бронирования и другие сайты. Кроме того, modx входит в ТОП бесплатных CMS.Но что-то я далеко зашел. Одним из нужных функционалов есть фильтрацией данных по определенному критерию. И в этой статье я хочу написать вам несколько примеров как фильтровать и выводить данные на modx с помощью pdoPage, в том числе и с дополнительных полей (tv).
Выводим данные с дополнительного поля с фильтрацией where
Не забываем, что при использовании дополнительных полей в pdoPage их нужно прописать в includeTVs:
[[!pdoPage? &parents=`76` &includeTVs=`status, start, minimum` &where=`{"status":"Заявка"}` &tpl=`@INLINE <a href="[[+uri]]">[[+pagetitle]]</a>: [[+tv.status]]; от [[+tv.start]]; минимум [[+tv.minimum]] ` &limit=`10` ]]
[[!pdoPage? &parents=`76` &includeTVs=`status, start, minimum` &where=`{"status":"Заявка"}` &tpl=`@INLINE <a href="[[+uri]]">[[+pagetitle]]</a>: [[+tv.status]]; от [[+tv.start]]; минимум [[+tv.minimum]] ` &limit=`10` ]] |
По коду:!pdoPage = вызов сниппета, не кешируемый (знак восклицания).parents = родительский элемент (если документы у вас в корне, то ставьте 0)includeTVs = включает дополнительные поля для выводаwhere = фильтрация запроса (в моем примере поле «статус» должно быть «Заявка»). Кстати, есть нюанс если стоит «поле по умолчанию» в настройке ввода дополнительного поля. Об этом позже.tpl = шаблон вывода. В примере идет название статьи с активной ссылкой, дальше статус и еще два дополнительных поля.limit = максимальное количество пунктов для вывода.
Примеры использования where в pdoPage modx revolution
Несколько примеров самого where:
&where = `{"start:>" : "10.01.2018"}` &where=`{"minimum:>" : "100$"}` &where = `{"status" : "Выполнено"}` &where = `{"minimum:>=" : "1000"}` &where = `{"status:!=" : "Архив"}` &where = `{"minimum:!=" : "100"}` &where=`{"pagetitle:LIKE":"%rent%", "AND:minimum:LIKE":"%$%"}` &where=`{"pagetitle:LIKE":"%rent%", "OR:status:=":"Заявка"}` &where=`{"minimum:=":"100$", "OR:status:=":"Оплачено"}` &where=`{"minimum:=":"100$", "OR:status:=":"Оплачено", "OR:start:=":"20.03.2018"}`
&where = `{"start:>" : "10.01.2018"}` &where=`{"minimum:>" : "100$"}` &where = `{"status" : "Выполнено"}` &where = `{"minimum:>=" : "1000"}` &where = `{"status:!=" : "Архив"}` &where = `{"minimum:!=" : "100"}` &where=`{"pagetitle:LIKE":"%rent%", "AND:minimum:LIKE":"%$%"}` &where=`{"pagetitle:LIKE":"%rent%", "OR:status:=":"Заявка"}` &where=`{"minimum:=":"100$", "OR:status:=":"Оплачено"}` &where=`{"minimum:=":"100$", "OR:status:=":"Оплачено", "OR:start:=":"20.03.2018"}` |
Обратите внимание на комбинированные запросы (AND, OR). В них для значений «равно» нужно писать := . Для неизвестной части значения знаки процентов %. Запросы могут быть и длиннее. Также обращайте внимание на формат дат, особенно в Дополнительных полях с Параметров ввода Дата.
Фильтр данных в pdoMenu modx
Все примеры выше также подойдут и для pdoMenu.
[[pdoMenu? &parents=`76` &level=`1` &includeTVs=`status, start, minimum` &where=`{"minimum:=":"1$", "OR:status:=":"Заявка"}` &tpl=`sideall` &limit=`10` &sortdir=`DESC` &sortby=`publishedon` ]]
[[pdoMenu? &parents=`76` &level=`1` &includeTVs=`status, start, minimum` &where=`{"minimum:=":"1$", "OR:status:=":"Заявка"}` &tpl=`sideall` &limit=`10` &sortdir=`DESC` &sortby=`publishedon` ]] |
Не выводит дополнительное поле в where через pdoPage modx
Это может быть из-за того, что забыли указать includeTVs. Также я столкнулся с такой проблемой в modx revolution 2.5.7-pl, версия pdoTools 2.9.2-pl1. Не выводило данные, которые в Параметрах ввода дополнительного поля стояли По умолчанию. Хотя в некоторых других частях кода все работало. Как только я убрал данные (заменил по умолчанию на пробел) сразу все заработало.
bdseo.ru
pdoMenu проблема
Вроде нечего сложного, однако не получается корректно вывести меню двух двухуровневое меню.<ul> <li><a href="/">Главная</a></li> <li><a href="/l">Контакты</a></li> <li><a href="spisok-statej">Список статей</a></li> <li> <a href="#" data-toggle="dropdown">Страницы <i></i></a> <ul> <li><a href="gallereya">Галерея</a></li> <li><a href="404.html">404</a></li> <li></li> <li><a href="privacy.html">Privacy Policy</a></li> <li><a href="terms.html">Terms of Use</a></li> </ul> </li> </ul>Пробовал такие варианты:
[[pdoMenu? &level=`2` &tplOuter=`@INLINE <ul>[[+wrapper]]</ul>` &tpl=`@INLINE <li><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>` &tplParentRow=`@INLINE <li><a href="[[+link]]" [[+attributes]] data-toggle="dropdown" >[[+menutitle]]</a><ul>[[+wrapper]]</ul></li>` &tplHere=`@INLINE <li><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>` &tplInner=`@INLINE <li><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>` &tplParentRowHere=`@INLINE <li><a href="[[+link]]" [[+attributes]] data-toggle="dropdown" >[[+menutitle]]</a>[[+wrapper]]</li>` ]][[pdoMenu? &level=`2` &parentClass=`dropdown open` &selfClass=`active` &tplOuter=`@INLINE nav navbar-nav navbar-right[[+wrapper]]</ul>` &tplParentRow=` <li> <a href="[[+link]]" data-toggle="dropdown">[[+wrapper]] <i></i></a> <ul> [[+wrapper]] </ul> </li> ` &tplParentRowHere=` <li> <a href="[[+link]]" data-toggle="dropdown">[[+wrapper]] <i></i></a> <ul> [[+wrapper]] </ul> </li> ` &tplHere=`<li><a href="[[+link]]">[[+wrapper]]</a></li>` &tplInnerRow=`<li><a href="[[+link]]">[[+wrapper]]</a></li>` &tplInnerHere=`<li><a href="[[+link]]">[[+wrapper]]</a></li>` &tplParentRowActive=` <li> <a href="[[+link]]" data-toggle="dropdown">[[+wrapper]] <i></i></a> <ul> [[+wrapper]] </ul> </li> ` ]]modx.ru