Выводить товары только из опубликованных категорий
Есть дерево категорий, в категориях товары. Есть неопубликованные категории с товарами. Если перейти в корневую категорию, в ней отображаются все товары из подкатегорий. Как сделать так чтобы товары из неопубликованных подкатегорий не выводились?
Комментарии: 2
Удалось решить проблему? что-то я тоже догнать не могу, какое условие прописать при вызове сниппета
В общем, сделал выборку через сниппет. В &resources указываем список исключаемых id, у которых не опубликован родитель.
Работает. Но буду признателен, если кто-нибудь поможет оптимизировать.
<?php
$sql = $modx->prepare("SELECT
`id`
FROM
`eZRjUq0u0atk_site_content`
WHERE
`class_key` = 'msProduct' AND `parent` IN(
SELECT
`id`
FROM
`eZRjUq0u0atk_site_content`
WHERE
`class_key` = 'msCategory' AND `published` = 0
)");
$sql->execute();
$output = array();
while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
$output[] = "-".$row['id'];
}
return implode(', ',$output);
Работает. Но буду признателен, если кто-нибудь поможет оптимизировать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.