Как вывести категории, содержащие товары с определенным значением?

Приветствую!
Minishop2. Структура такая:

Каталог
— категория 1
— — товар 1 (menutitle = 1)
— — товар 2 (menutitle = 2)
— — товар 3 (menutitle = 3)
— категория 2
— — товар 1 (menutitle = 1)
— — товар 2 (menutitle = 2)
— — товар 3 (menutitle = 3)

Мне нужно в Каталоге вывести список категорий, которые содержат товары, у которых, menutitle = 1 (там цифровое значение в menutitle: 30, 40, и т.д.)

У меня, изначально, в каталоге pdoResources а в шаблоне вывода еще pdoResources уже настраивающий выборку самих товаров. И вот в последнем
&where = `{"menutitle":30}`
нужную выборку дает, но мне надо сделать это уровнем выше так, чтобы отсечь категории, в которых нет товаров с таким значением…

Может кто подсказать как это можно сделать?
steve.kon
18 ноября 2022, 16:23
modx.pro
857
0

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

Алексей Смирнов
18 ноября 2022, 19:03
+1
Укажите в выборке parents= параметр с нужным id категории…
    steve.kon
    18 ноября 2022, 19:14
    0
    Ну можно, конечно, и дополнительно TV сделать, из которого будет браться значение для &where = `{«menutitle»: ЗНАЧЕНИЕ TV}` чтобы в категориях ссылки на товары лишние убрать, но всё достаточно сложно для менеджера получается...(
    А не подскажете mFilter2 может фильтровать результаты по параметрам дочерних элементов?
      Алексей Смирнов
      18 ноября 2022, 19:23
      0
      Он может,
      Но вам же нужны именно товары… те. не выводить категорию 3, если там нет товаров с menuindex = 1…
      Ну странно это.
      Опишите для чего такая сложная выборка нужна? Может, есть решение проще…
        steve.kon
        18 ноября 2022, 19:31
        0

        Вот что делается — нужно создавать страницы под Директ, например, Водонагреватели Thermex 30литров
        — и показать все категории (серии), в которых есть 30л модели (товары) с ссылкой на модель

        … хотя вот написал и понимаю, что серии (категории) именно в этом случае можно не выводить, т.к. товар (литраж) будет лишь 1 и можно сразу выводить модели (товары)
          steve.kon
          18 ноября 2022, 19:44
          0
          Ну действительно, всё оказалось проще, чем представлялось изначально:
          [[msProducts?
           &parents=`97`
           &limit=`0`
           &tpl=`tpl.msProducts.SeriaProducts`
           &tplWrapper=`tplWrapper.msProducts.PodborSeria`
           &wrapIfEmpty=`0`
           &includeContent=`1`
           &sortby=`id`
           &sortdir=`ASC`
           &where = `{"menutitle":30}`
          ]]
          В parents каталог с нужными категориями и &where отсекает ненужные литражи
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5