Фильтр товаров
Фильтр помогает покупателю подобрать товары по характеристикам, цене и наличию. Вы решаете, где он стоит на странице, какие свойства в него попадают, как выглядит каждый пункт и что покупатель увидит в подсказке.
Фильтр слева или сверху
Откройте ASTDESIGN → МаркетПро → Настройки, вкладка Каталог, блок Списки товаров и разделы, поле Вид страницы каталога:
Фильтр слева — вертикальный фильтр в колонке, товары справа. Вариант по умолчанию, подходит, когда свойств много: список можно прокручивать, и он не отнимает высоту у товаров.
Фильтр сверху — горизонтальный фильтр над списком товаров. Пункты стоят в строку и раскрываются вниз. Подходит для каталогов с небольшим числом свойств: товары начинаются выше, а на узких экранах фильтр не занимает первый экран целиком.
Настройка действует на весь каталог: отдельному разделу свой вид фильтра задать нельзя.
При горизонтальном фильтре в строке над товарами стоят только свойства с галочкой Показывать в горизонтальном фильтре сразу — каждое раскрывается вниз списком. Все свойства, включая остальные, собраны в панели Все фильтры. Галочка ставится в настройках свойства: Контент → Инфоблоки → Типы инфоблоков → Каталог → Товары, вкладка Свойства, нужное свойство.
Какие свойства попадают в фильтр
Состав фильтра задаётся у свойств инфоблока: свойство участвует в фильтре, если для него включён показ в умном фильтре. Это штатная настройка 1С-Битрикс — она описана в документации 1С-Битрикс.
Порядок пунктов фильтра идёт по сортировке свойств: у какого свойства значение сортировки меньше, тот пункт выше. Свойства товара и свойства торговых предложений сортируются вместе, одним списком, — поэтому пункт по цвету из торгового предложения может стоять между пунктами основного каталога, если так заданы сортировки.
Значения показываются только те, что реально есть у товаров раздела. Если свойство или значение не появилось в фильтре, проверьте:
включён ли у свойства показ в умном фильтре;
заполнено ли свойство хотя бы у одного активного товара раздела;
не пуст ли фасетный индекс — об этом ниже.
Как выглядит пункт фильтра
Вид задаётся в настройках свойства, поле Вид отображения в фильтре:
Чекбокс — список значений с флажками. Вариант по умолчанию.
Изображения — вместо флажков картинки: обычно так делают цвет или фактуру. Как подготовить картинки — в статье «Изображения в фильтре товаров».
Числовые свойства и цена превращаются в диапазон «от» и «до» автоматически, отдельной настройки для них нет. Если покупатель выставил ползунки в крайние значения, решение считает, что фильтр по этому свойству не задан, и не подмешивает его в адрес страницы.
Свёрнутые и развёрнутые пункты
Каждый пункт фильтра сворачивается и разворачивается кликом по заголовку. Каким покупатель увидит пункт при открытии раздела, задаёт штатная галочка Битрикса Показать развёрнутым в настройках свойства для умного фильтра — там же, где включается сам показ в фильтре. Галочка стоит — пункт развёрнут, снята — свёрнут, виден только заголовок.
Всегда развёрнуты:
цена;
пункт, в котором покупатель уже выбрал значение.
Это действует в фильтре слева, в панели Все фильтры фильтра сверху и в мобильной версии. На пункты в строке фильтра сверху галочка не влияет: они и так раскрываются по клику.
Подсказка у пункта фильтра
Рядом с названием пункта можно показать значок ⓘ с пояснением — например, объяснить, как измерить размер, или показать таблицу соответствия.
Заполните у свойства поле Подсказка (html). В подсказку можно положить не только текст: решение разберёт содержимое и покажет картинки, видео, ролик с YouTube и скрипты, если они там есть.
Если поле Подсказка (html) не заполнено, решение возьмёт подсказку из настроек умного фильтра у раздела, а если и там пусто — из подсказки самого свойства.
Если фильтр не находит товары или работает медленно
Причина: фасетный индекс каталога не построен или устарел. Фильтр берёт значения из индекса, а не из товаров напрямую — так он и работает быстро на больших каталогах. Пока индекс не готов, фильтр может не показывать свойства или выдавать неполный список товаров.
Решение: решение строит и достраивает индекс само, в фоновых задачах — вам нужно только убедиться, что они запускаются. За индекс отвечают две задачи cron:
facet — создаёт индекс, если у инфоблока каталога он помечен как незавершённый;
checkFacet — достраивает индекс по очереди товаров, изменённых после последнего прохода.
Как проверить, что фоновые задачи решения работают, написано в статье «cron».
Если после большой загрузки товаров фильтр несколько минут показывает неполные данные — это нормально, индекс достраивается в фоне.
Индекс не строится после прерванного обмена с 1С
Симптом: задачи cron запускаются, товары в каталоге есть, но фильтр не показывает свойства или показывает неполный список товаров — и так часами. Незадолго до этого обмен с 1С оборвался: не хватило времени, упало соединение, остановили вручную.
Причина: на время обмена решение ставит паузу на пересоздание индекса — иначе индекс перестраивался бы на каждом шаге загрузки. Пауза — это файл-метка. Обычный обмен снимает её сам, а прерванный оставляет: индекс не будет пересоздаваться, пока метка лежит на месте.
Решение: удалите файл-метку. Зайдите на сервер по SSH или через WinSCP под пользователем сайта и откройте каталог:
/bitrix/modules/astdesign.marketpro/files/Удалите файл stopFacet.lock, если он там есть:
rm /home/bitrix/www/bitrix/modules/astdesign.marketpro/files/stopFacet.lockПуть до корня сайта у вас может отличаться — подставьте свой. После удаления дождитесь следующего запуска задачи facet: индекс начнёт строиться, и свойства вернутся в фильтр. Проверять удобно на разделе, где точно есть товары с заполненными свойствами.
Второй способ — просто выполнить обмен с 1С до конца: пройдя загрузку товаров, он снимает метку сам.
Рядом в этом же каталоге лежат facet.lock и checkFacets.lock — они означают «задача уже работает, второй раз не запускать». Их удалять не нужно: решение снимает их само, если задача не завершилась вовремя — через час для facet.lock и через полчаса для checkFacets.lock.