mFilter2: построение фильтра по категориям товаров с выводом всех подкатегорий

Добрый день!
Стоит задача вывести через mFilter2 полный список подкатегорий в МиниШопе.
Другими словами — имеется структура:

Магазин
- Женская одежда
- - Костюмы
- - - Юбки 
- - - - Короткие
Требуется вывести полностью всю эту структур через фильтр

&filters=`
    parent:categories
`
Заранее благодарю за подсказку!
Дмитрий
02 сентября 2020, 16:18
modx.pro
679
0

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

Роман
03 сентября 2020, 13:00
0
[[!mFilter2?
    &parents=`0`
    &filters=`
        resource|parent:parents
    `
    &tplFilter.outer.resource|parent=`tpl.mFilter2.filter.select`
    &tplFilter.row.resource|parent=`tpl.mFilter2.filter.option`
    &suggestionsRadio=`resource|parent`
]]
    Дмитрий
    03 сентября 2020, 17:36
    0
    Роман, спасибо, но такая реализация в разделе «Женская одежда» выведет в селекте «Женская одежда / Костюмы». Подразделы внутри костюмов уже выводиться не будут. В этом весь нюанс — mFilter2 по умолчанию выводит только подразделы первого уровня (относительно раздела, где выводится фильтр), а необходимо вывести полностью всю структуру подразделов вглубь.

    @Василий Наумкин Василий, можете, пожалуйста, подсказать, есть ли нативный способ вывода полной структуры подкаталогов через mFilter2 в фильтре по категориям? Или надо расширить класс и написать свой метод фильтрации? Спасибо!
      Роман
      03 сентября 2020, 17:44
      0
      resource|parent:grandparents
        Дмитрий
        03 сентября 2020, 22:31
        0
        С таким вызовом это будет вывод верхних категорий, родительских, а не всех дочерних.
    Костромин Игорь
    03 сентября 2020, 18:33
    0
    А какой смысл выводить под категории через фильтр, можно вывести категории и под категории с товарами через pdoMenu, при переходе в определенный раздел (страницу) будут отображаться все товары из этой под категории, а фильтры применять уже для определенных характеристик товара, скажем производителя, размера и т.д.
      Дмитрий
      03 сентября 2020, 22:43
      0
      Да, безусловно можно и так (я пока так собственно и сделал), но все же хочется сделать это через фильтр, т.к. с pdoMenu, провалившись в подраздел это надо потом возвращаться обратно. Т.е. это надо делать дополнительный элемент интерфейса «Вернуться на раздел вверх» или что-то другое придумывать… Это не очень удобно. Гораздо проще выбрать под-под-под раздел в фильтре.
      Просто в принципе архитектурно не очень понятно, почему mFilter2 в фильтре категорий видит только на глубину уровня ближайших дочерних разделов. Например тот же pdoMenu имеет параметр level, который это регулирует, а mFilter2 изначально жестко создан с ограничением глубины. При этом, что важно, товары он видит глубоко. Т.е. товары из приведенной мной структуры в под-под-под разделе «Короткие» он увидит. Имею ввиду, например, фильтр по размерам — он видит все размеры из таких глубоко вложенных товаров. А фильтр по Категориям уже нет.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6