К содержанию

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

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

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

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

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

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

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

      и что мне еще можно посоветовать?
      Спасибо!
      p.s. пробовал еще &prepareSnippet=`` задействовать, но помоему с mfilter не работает…
        Володя
        Володя Эксперт
        01 февраля 2014, 19:17
        сделал через &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
      Василий подскажи а как полностью удалить $row при выводе?
      То ест если мне не нужно какую то итерацию выводить — я могу ее полностью чикнуть?
      спасибо!

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