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

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

Дмитрий Середюк
Дмитрий Середюк
У себя на проекте использую CLI скрипт в котором выставляется базовая категория, после запуска в указанной категории

define('JSON_DIR', MODX_BASE_PATH . 'assets/jsonld/');

Появляется статичный файл LD разметки карточек товара.

После чего при помощи сниппета подгружаю нужную разметку в зависимости от категории. Сниппет так же в комплекте по ссылке выше.
Евгений
Евгений
@Артур Шевченко А просто ещё дорабатывается:) Я вот только запостил, как нашёл ещё пару косяков. (Очень уж запостить хотелось побыстрее — чсв потешить:) )
Сейчас ажиотаж от того, что «маааам, посмотри, что я сделал», прошёл и надо ещё разок свежим взглядом всё пробежать…
Павел Романов
Павел Романов
Дмитрий
Дмитрий
Павел Романов
Павел Романов
Смотрите каким должен быть результирующий JSON и сравните с тем, что выводится. Может надо обернуть первый вызов в [ и ]:

[
[[pdoResources?
&tpl=`category_tpl`
&parents=`6`
&templates=`***` // тут ID шаблона категории 
&limit=`0`
&sortby=`{ "menuindex":"DESC"}`
&outputSeparator=`,`
]]
]
Дмитрий
Дмитрий
План был хорош, но почему-то валидатор от гугла ругается именно на эту запятую =)
т.е. по всей видимости, pdoResources подставляет эту запятую в каком-то своем формате. =(

Вот чего говорит: Ошибка анализа: в декларации массива отсутствует символ "," или "]", хотя сам код выглядит, так как нужно
Павел Романов
Павел Романов
Первый вызов перебирает все категории внутри каталог (6) и они выводятся как чанк category_tpl.
В этом чанке для каждой категории (категория 1 (7) и категория 2 (8)) вызывается msProducts, который выводит 16 товаров, принадлежащие данной категории ([[+id]] будет выводить 7 и 8 соответственно, что и будет передаваться в &parents=`[[+id]]`).

&templates — ограничивает выборку определенным шаблоном.
Павел Романов
Павел Романов
Тогда так:

[[pdoResources?
&tpl=`category_tpl`
&parents=`6`
&templates=`***` // тут ID шаблона категории 
&limit=`0`
&sortby=`{ "menuindex":"DESC"}`
&outputSeparator=`,`
]]

Чанк category_tpl:
[[msProducts?
&tpl=`razmetka-tovarov`
&parents=`[[+id]]`
&templates=`***` // тут ID шаблона товара 
&limit=`16`
&sortby=`{ "menuindex":"DESC"}`
&outputSeparator=`,`
]]
Павел Романов
Павел Романов
При таком вызове выведутся 16 товаров, которые расположены ниже ресурса с id = 6.
При &limit=`0` выведутся все товары, которые находятся ниже ресурса с id = 6.

Какая у Вас структура каталога и что именно Вы хотите получить в результате?
Дмитрий
Дмитрий
[[msProducts?
&tpl=`razmetka-tovarov`
&parents=`6`
&templates=`***` // тут ID шаблона товара 
&limit=`16`
&offset=`0`
&sortby=`{ "menuindex":"DESC"}`
&outputSeparator=`,`
]]
Плохой вариант, при таком раскладе у меня выведется из первой подпапки 16 позиций, что будет явно противоречить действительности.