mfilter2 - вывод категорий при сорт. по товарам

Добрый вечер.
Подскажите способ, вывести категории товара, при сортировке по характеристикам товара.

Как проще, лучше решить данный вопрос?
Кто сталкивался с таким?
Спасибо!
Володя
31 января 2014, 14:31
modx.pro
2 578
0
Поблагодарить автора Отправить деньги

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

Володя
31 января 2014, 18:47
0
пока пришло на ум делать вывод mfilter в плейсходер, затем брать results и передавать в собственный сниппет.
В сниппете получаем id родителей, убираем дубли и выводим категории.
как то так… правильно мыслю или можно как то проще/иначе?
    Володя
    31 января 2014, 23:12
    0
    Василий кинь подсказку как через mfilter сделать?
    через собственный сниппет ерунда получается, он не обновляется через ajax. чувствую что зароюсь еще дальше если сейчас буду велосипедить как обновлять через ajax свой сниппет…
      Василий Наумкин
      01 февраля 2014, 07:12
      0
      Можно попробовать так: сделать всё, как при выводе обычных товаров, но присоединить к msProducts таблицу категорий, добавить &groupby и поправить чанк, чтобы выводить меня категорий, а не товаров.

      То есть, фильтровать ты будешь товары, а выводить категории. Может сработать, попробуй.
        Володя
        01 февраля 2014, 10:49
        0
        Понял что я вчера лоханулся, я пытался c mfilter что то придумать, а нужно было msProduct менять.
        Да нашел похожую тему modx.pro/help/2080/
        но все равно криво работает. он отбирает только по первому продукту в категории, на остальные вообще не смотрит.
          Володя
          01 февраля 2014, 11:04
          0
          Я так понимаю groupby=`msCategory.id` — все дело в нем
    Володя
    01 февраля 2014, 15:01
    0
    И отбор значений для фильтра идет только из первого товара категории…
      Володя
      01 февраля 2014, 16:39
      0
      немного синтаксис sql почитал. groupby=`msCategory.id` отбирает только уникальные значения соответственно и получаю я то что получаю. Уникальные msCategory.id, но тогда и в сортировке фильтра я буду сортировать только по значением первых товаров что выбраны из базы, остальные то отсекаются…

      получаетсябез groupbys4955.modx-test.com/
      с groupby=`msCategory.id`s4955.modx-test.com/groupbymscategory.id.html

      и что мне еще можно посоветовать?
      Спасибо!
      p.s. пробовал еще &prepareSnippet=`` задействовать, но помоему с mfilter не работает…
        Володя
        01 февраля 2014, 19:17
        0
        сделал через &prepareSnippet=``
        s4955.modx-test.com/prker.html?ms|price=52,171
        <?php
        
        if ($row['idx']==1) {$cat = $modx->setPlaceholder('cat_idp', $row['cat_id']);}
            else {
                  $cat = $modx->getPlaceholder('cat_idp');
              
                  if ($cat==$row['cat_id']) {$row['cat_id'] = "";}
                     
                     else {$cat = $modx->setPlaceholder('cat_idp', $row['cat_id']);}
                
                 }
        return json_encode($row);
        иначе еще не придумал…
      Володя
      02 февраля 2014, 10:24
      0
      Василий подскажи а как полностью удалить $row при выводе?
      То ест если мне не нужно какую то итерацию выводить — я могу ее полностью чикнуть?
      спасибо!

      пока я выкрутился так — в tpl добавил в обертку
      style="display:[[+none]]"
      и в сниппете обработки присваиваю неуникальному элементу
      $row['none'] = "none";
      может как то иначе можно грохнуть всю итерацию?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10