minishop msproducts вывести товары сгруппированными по родителям

Подскажите как вывести товары из подкатегорий сгруппированными по родителю. В идеале было бы еще разделить эти подкатегории выводом заголовка-имени подкатегории. Такое возможно сделать?

[[!msProducts?
        &parents=`16,17,18,56,57,19`
        &includeContent=`0`
        &tpl=`msProductIndex`
        &toPlaceholder=`catalog`
        &includeThumbs=`322x180`
        &includeTVs=`myvalue`
        &sortby=`menuindex` 
        &sortdir=`ASC`
    ]]
сейчас это вот так вызывается это категории, и в некоторых есть подкатегории (например в 19ой есть 117 и 120), которые и надо разбить
каждая категория открывается в отдельной вкладке фильтра и на 19ой все товары вперемешку а нужно чтобы сначала 117 потом 120 и тд и если возможно то с заглавием.
Евгений
28 декабря 2020, 01:37
modx.pro
413
0

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

Евгений
28 декабря 2020, 17:57
0
чтото прям ничего не получается :(
    Виталий Валерьевич
    28 декабря 2020, 22:34
    +1
    Оу, в принципе не сложно, куда сложнее подобную группировку было прикрутить к фильтрам с каталогом. Пришлось расширять и mfilter и fenom заюзать на всю. В целом получилось не плохо, скорость отдачи страницы для такого решения с 400 товарами в таблицах 0.2 сек. Как появится время, постараюсь написать заметку.

      Евгений
      29 декабря 2020, 02:56
      0
      буду благодарен за любую информацию по моему вопросу, дело даже не в производительности сейчас
      Евгений
      02 января 2021, 16:08
      0
      есть у кого нибудь мысли как это сделать? хоть бы понять куда копать
        Александр Мельник
        02 января 2021, 16:46
        +1
        думаю лучший из вариантов это скопировать код сниппета msProducts в свой сниппет. Изучить как он работает и переписать внедрив свою логику. Советую копать именно в сторону рефакторинга готового кода.
        Меня смущает у вас вот такая фраза «каждая категория открывается в отдельной вкладке фильтра» ведь больше о фильтре нигде ни слова, при чем тут фильтр?
        Вызов который вы приводите
        [[!msProducts?
                &parents=`16,17,18,56,57,19`
                &includeContent=`0`
                &tpl=`msProductIndex`
                &toPlaceholder=`catalog`
                &includeThumbs=`322x180`
                &includeTVs=`myvalue`
                &sortby=`menuindex` 
                &sortdir=`ASC`
            ]]
        должен отобразить на одной странице все товары из указанных вами директорий.
          Евгений
          02 января 2021, 18:16
          0
          да все продукты должны открыться одним списком, информация о фильтре тут лишняя категория в класс пишется
          важно тут отсортировать их как то по подкатегориям которые в этих категориях лежат
            Александр Мельник
            02 января 2021, 20:44
            +1
            Самое просто, что напрашивается — вызывайте значит сниппет в цикле.
            Далее условный язык программирования
            for id in [16,17,18,56,57,19] {
            <h2>16.pagetitle</h2>
             run snippet msProducts для id
            }
              Евгений
              02 января 2021, 23:32
              0
              тут немного не так
              почти в каждой из этих категорий есть подкатегрии которые и надо вывести заголовком и товары сгруппировать по ним

              условный язык программирования это как понимать? :)
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8