Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Василий Наумкин
Василий Наумкин
&depth — глубина выборки от родителя.

Ты выбираешь ресурсы в корне, то есть родителей у них нет. Значит, нужно указать:
&where=`{"context_key":"shop", "parent":0}`
Включай &showLog, смотри запросы — это ж SQL, нетрудно разобраться, что происходит.
Юрий Эффа
Юрий Эффа
ещё наткнулся — при любом значении depth вываливает все ресурсы контекста
вызов тот же:
[[pdoResources?
	&parents=`0`
	&resources=`-12`
	&where=`{"context_key":"shop"}`
	&depth=`0`
	&tpl=`jd.oforlist-item.tpl`
	&limit=`0`
]]
если добавляем в where условие для parent'а, то всё работает:
&where=`{"context_key":"shop","parent:=":0}`
наличие\отсутствие depth при этом ни на что не влияет, само собой
Василий Наумкин
Василий Наумкин
У меня пока есть только подписка на комментарии.

Сделать подписку на категорию не особо сложно — можно обойтись всего одним плагином.
Он должен уметь:
1. Подписывать\отписывать юзеров (сохранять их id в поле properties ресурса).
2. При создании новой страницы проверять parent, и если там есть подписчики — слать им письма.

Ну а вывести количество сможет простейший сниппет, который получит properties и посчитает размер массива подписчиков.

P.S. На будущее постарайся объяснять так, чтобы не возникало встречных вопросов. Все люди занятые, вытягивать подробности, чтобы тебе помочь, никому не интересно.
Юрий Эффа
Юрий Эффа
указал выводить все страницы
А как ещё указать parents, если ресурсы в корне другого контекста?
Удалём resources, и всё работает как надо — выводятся материалы только заданного контекста:
[[pdoResources?
&parents=`0`
&context=`shop`
&depth=`0`
&tpl=`jd.oforlist-item.tpl`
&limit=`0`]]
Лог:
0.0000250: pdoTools loaded
0.0001049: Conditions prepared
0.0000331: Query parameters ready
0.0001040: xPDO query object created
0.0000339: Grouped by modResource.id
0.0007892: Added selection of modResource: 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`.`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`
0.0006580: Added where condition: published=1, deleted=0, modResource.id:NOT IN(12)
0.0000329: Sorted by publishedon, DESC
0.0000131: Limited to 0, offset 0
0.0004559: 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`.`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 `jd_site_content` AS `modResource` WHERE  ( `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 AND `modResource`.`id` NOT IN (12) )  GROUP BY modResource.id ORDER BY publishedon DESC "
0.0009491: SQL executed
0.0001578: Total rows: 16
0.0002840: Rows fetched
0.0158241: Returning processed chunks
0.0194650: Total time
8 388 608: Memory usage
Василий Наумкин
Василий Наумкин
&showLog=`1`

Ну и эта, ты указал выводить все страницы (&parents=`0`), кроме товара с id=12 — так и выводится.

Параметр &context работает только если и &parents и &resources равны 0. Иначе он не нужен, если ты указал или ресусры или родителей.

По уму, его вообще убрать надо, чтобы не путал.