Последние темы


Вывод фильтров на другую страницу.

  • И еще небольшой, надеюсь, вопрос.
    Каталог организован следующим образом: Главная каталога > категория товаров > товар.
    На страницах категорий товаров все прекрасно работает (http://forum.modx-shopkeeper.ru/topic/1170/tagmanager2-не-сортирует-и-не-фильтрует/10)
    Пытаюсь вывести товары с фильтрацией на главную страницу каталога (design.alanmebel.by/kuhni/)
    В "Управлении фильтрами" все работает. На страницу выбранные фильтры выводятся, правда без числовых значений. Товары указанные в

    [[!tmCatalog?
             &parents=`161,159,162,176,203`
             &tpl=`Product_tpl`
             &sortby=`RAND()`
       ]]
    

    выводятся, но при попытке фильтрации или сортировки все товары пропадают. Понимаю, что где-то какая-то ошибка, но где?

  • Немного разобрался с помощью
    В параметрах шаблона страницы, куда выводятся товары указал название набора параметров,

     [[tmFilters?
          &filterOuterTpl=`tm2_filterOuterTpl`
          &filterTpl=`tm2_filterTpl`
          &filterNumericOuterTpl=`tm2_filterOuterTpl`
          &filterNumericTpl=`tm2_filterNumericTpl`
          &jsMap=`1`
          &toPlaceholder=`filters`
          &categoryId=`161`
     ]]
                           
    <div id="filters" class="mt-4">
           <p class="pt-3"><b>Подбор по параметрам</b></p>
           <form action="[[~[[*id]]]]" method="get">
           <input type="hidden" name="page_id" value="161" disabled="disabled" />
           [[+filters]]
           <button type="button" class="btn btn-sm btn-outline-secondary" onclick="tmFilters.resetFilters(); return false;">Сбросить</button>
           </form>
    </div>
    
    <div id="products" class="row">
          [[!tmCatalog?
            &parents=`161`
            &dept=`2`
          ]]
     </div>
    

    и получилось почти нормально вывести товары из категории с id=161. (почти, т.к. не отображается количество найденных товаров)
    Т.е. все выводится фильтруется и сортируется.
    Теперь вопросы:

    1. Как вывести сюда товары с других категорий, например, с id=159,162,176?
    2. Почему в фильтре не отображаются количество найденных товаров по каждому фильтру?
    1. Как вывести сюда товары с других категорий, например, с id=159,162,176?

    Не уверен, но по-моему такой возможности нет. Можно вывести, но без фильтров. Но если у этих категорий есть одна общая на верхнем уровне, то не вижу проблемы. Её и надо указывать.

    1. Почему в фильтре не отображаются количество найденных товаров по каждому фильтру?

    Не хватает информации. Например, какие у вас параметры в наборе параметров и какие в параметрах шаблона. Где хранятся товары (ресурсы MODX или отдельная таблица).

  • @andchir

    1. Общая категория есть.
      Кухни (2)
      Кухни из массива (160)
      Кухни из пластика (161)
      и т.д.
      Собственно вот здесь и туплю куда какой id писать? Что в tmFilters, что tmCatalog, а что name="page_id" value="???"

    2. Товары - ресурсы Modx.
      В параметрах шаблона с id=2 параметры из примера prodPropertySetName - catalog_filters_2

  • сам набор параметров catalog_filters_2 - стандартный шаблонный

    Т.е. все делалось по документации, своего ничего не добавлялось

  • Вот немного подробнее
    Системные настройки
    2_1528833104289_Захват-1.jpg !

    Настройки шаблона
    0_1528833233940_Захват-2.jpg
    Параметры getPage
    0_1528833243077_Захват-3.jpg

  • Собственно вот здесь и туплю куда какой id писать? Что в tmFilters, что tmCatalog, а что name="page_id" value="???"

    Я уже писал, что нужно указывать ID категории верхнего уровня.

  • @andchir
    ID категории верхнего уровня - 2, так нужно?

    <div class="row main-furniture text-center">                
            [[tmFilters?
                &filterOuterTpl=`tm2_filterOuterTpl`
                &filterTpl=`tm2_filterTpl`
                &filterNumericOuterTpl=`tm2_filterOuterTpl`
                &filterNumericTpl=`tm2_filterNumericTpl`
                &jsMap=`1`
                &toPlaceholder=`filters`
                &categoryId=`2`
                &dept=`2`
            ]]
            
            <div id="filters" class="mt-4">
                <p class="pt-3"><b>Подбор по параметрам</b></p>
                <form action="[[~[[*id]]]]" method="get">
                    <input type="hidden" name="page_id" value="2" disabled="disabled" />
                    [[+filters]]
                    <button type="button" class="btn btn-sm btn-outline-secondary" onclick="tmFilters.resetFilters(); return false;">Сбросить</button>
                </form>
            </div>
    <div id="products" class="row">
                [[!tmCatalog?
                    &parents=`2`
                    &tpl=`seo_Product_tpl`
                    &dept=`2`
                ]]
            </div>
    

    Но так ничего не выводятся только фильтры, товаров нет .

  • &dept

    Во-первых тут ошибка. Во-вторых это нужно указывать в наборе параметров. Вы можете создать отдельный набор параметров именно для одной страницы.

  • @andchir , а можете мне написать, как нужно, что и куда подробнее, как "для особо тупых". Я уже совсем запутался. Могу дать доступ к сайту.

  • Читайте документацию

    depth - Глубина поиска родителей. По умолчанию 1.

    http://wiki.modx-shopkeeper.ru/doku.php?id=getproducts

    Число зависит от того сколько какая у вас максимальная вложенность в каталоге. Этот параметр нужно указать в наборе параметров, название которого вы указали в параметрах шаблона. Там же указать - parents - ID категории верхнего уровня.

  • Вам нужно понять смысл всех этих действий. Параметры сниппета "tmFilters" не важны при аякс-запросе, поэтому не обязательно создавать для него набор параметров. А параметры сниппета "tmCatalog" нужно знать на стороне сервера при аякс-запросе. Вытаскивать ваши параметры из шаблона при каждом запросе, где вы их указали, это было бы очень не рационально. Поэтому параметры, которые касаются вывода товаров из каталога, нужно указывать в наборе параметров. Название этого набора параметров нужно указать в парамерах шаблона, как написано в документации.

  • Участник @andchir написал в Вывод фильтров на другую страницу.:

    parents

    Спасибо, заработало. А "для особо тупых" я бы написал так:
    В сниппете getPage создать новый набор параметров, например catalog_filters_new, в котором в дополнение к стандартным полям набора catalog_filters параметров указать:
    имя depth, значение -х (х - вложенность в каталоге)
    имя parents, значени y (y - ID категории верхнего уровня).

    В параметрах шаблона (категории верхнего уровня) указать имя нового набора параметров catalog_filters_new

    Как-то так.

 

Последние комментарии

  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее
  • Что нового в Shopkeeper 4.0.3:

    Исправлено некорректное определение языка по умолчанию В настройках в админке скрываются пароли. Добавлена возможность загружать картинки для категорий. shopkeeper.js - добавлена функция updateProductsPrice() для поддержки текстовых полей для цены. Twig-функции contentList() и includeContent() вынесены в отдельный класс. Добавлено событие "order.before_create". Сортировка всех полей типа контента перетаскиванием. Автоматическое сохранение сортировки полей при сохранении типа контента (не нужно нажимать на отдельную кнопку). В интерфейсе админа добавлено поле поиска для списка Composer-пакетов.

    Скачать можно на главной странице https://modx-shopkeeper.ru/

    Читать далее
  • Вот этот плагин:
    0_1550334109280_screenshot_022.png

    Вроде по умолчанию он выключен. Надо включить. Но плагин работает только на редактирование товаров, при удалении он делалать ничего не будет. Только что проверил кнопку, всё работает корректно, фильтры удаляются и добавляются, когда нужно. Но нужно очищать корзину после удаления товаров (возможно баг).

    Читать далее
  • J

    @Andchir Если нажимаю кнопочку "Обновить значения", то в фильтрах появляются как раз те самые удаленные значения фильтра.. Потом приходится Ручками выбирать эти удаленные значения.
    вот так выглядит Управление фильтрами когда удаляешь ручками: https://yadi.sk/i/_zw64CGkZ_sAYg
    А вот так выглядит когда просто нажимаешь "Обновить значения": https://yadi.sk/i/7WFbXC6xV5sQAw (красным выделено, то что приходится постоянно удалять

    Читать далее