Помогите правильно составить условие вывода

Добрый день!

Есть раздел Статьи, в ресурсах которых в TV filters забиты id категорий товаров, в которых потом надо будет вывести эти статьи.
TV вида множественный список. Может забито как одно значение, а может и много.

При выводе TV получаем вывод id категорий товаров через запятую.

Например есть 2 статьи:
Статья 1, TV filters = 3,10
Статья 2, TV filters = 10

Задача на странице Категорий товара вывести нужные статьи.

Например для Категории с id = 3 выводится Статья 1,
а для Категории с id = 10 выводится Статья 1 и Статья 2

Вопрос, как правильно написать вывод статей, как проверить id?
Если бы в TV filters был бы 1 id категории, то проблем нет, работал бы такой вывод:

Получаем список id статей
{set $filters_id = '!pdoResources' | snippet : [
                            'parents' => 7,
                            'includeTVs' => 'filters',
                            'prepareTVs' => 'filters',
                            'processTVs' => 'filters',
                            'limit' => 0,
                            'outputSeparator' => ',',
                            'where' => '{"filters:>":""}',
                            'tpl' => '@INLINE {$id}',
                        ]}
Выводим нужные ресурсы
{'!pdoResources' | snippet : [
                            'parents' => 7,
                            'resources' => $filters_id,
                            'includeTVs' => 'filters',
                            'prepareTVs' => 'filters',
                            'processTVs' => 'filters',
                            'limit' => 0,
                            'where' => [
                                'filters' => $_modx->resource.id,
                            ],
                            'tpl' => '@INLINE <li><a href="{$uri}">{$pagetitle}</a></li>',
                        ]}
Но если 1 статья может содержать несколько id категорий, то такой вывод не работает. Подскажите как правильно сделать проверку?

Или может вообще подход не верный и есть решение лучше?
Андрей Шевяков
17 февраля 2022, 14:18
modx.pro
419
0
Поблагодарить автора Отправить деньги

Комментарии: 1

Максим
17 февраля 2022, 22:44
0
Используйте WHERE IN… Вот ссылка на документацию.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1