Роман

Роман

Был в сети 13 декабря 2022, 17:06
Заказы принимаю
Очень странная логика: если нет параметра templates, тогда вот это как будет выполнятся: $tvq->where(['templateid' => $templates]);
или вот это $res = $modx->getObject('modResource', ['id' => $ids]); если нет ids, то тогда все товары выведет.
Просто в документации написано:
Output
Все, что возвращается этим событием, будет записано в журналы как ошибка.
Поэтому ничего не выводится.
Скорее всего, что-то из этих, сложно сказать, не видя полной картины
OnMODXInit
OnLoadWebDocument
OnPageNotFound
Можно конечно написать так, но запрос будет тяжелый и даже на хорошем оборудовании будет тормозит. Возможно загнать в кэш все. А так лучше сделать, как написано выше.
{'msProducts' | snippet: [
	'parents' => '0',
	'tpl' => 'tpl.similarProductsOne',
	'leftJoin' => '{ "msOrderProduct": { "class": "msOrderProduct","on": "msProduct.id = msOrderProduct.product_id" }}',
	'select' => '{ "msProduct":"*", "Data": "*", "msOrderProduct": "SUM(msOrderProduct.product_id) as counts"}',
	'groupby' => 'msOrderProduct.product_id',
	'sortby' => '{"counts": "desc"}',
	'limit' => 10
]}
Я что-то подобное пробовал сделать, но там есть такой косяк, когда возвращается на 10 страницу, то скрипт начинает подтягивать сначала 9 страниц, и как только подтянет 9, начинает 10. =) Так что либо переписывать логику или как в яндекс.дзене делать.