Моментальная фильтрация на AJAX в умном фильтре 1С-Битрикс

Просмотров: 31494

При штатной установке, интернет-магазина на 1С Битрикс, умный фильтр по товарам, показывает колличество найденных товаров. От пользователя требуется дополнительное действие- нажать на кнопку "Показать"

Если мы хотим, что бы фильтрация происходила на лету, причем с постоянным отбором параметров, достаточно включить несколько опций.

Данный функционал, штатно, входит в 1С-Битрикс. Но почему-то не все о нем знают, потому решил написать эту заметку- авось кому то пригодится

Включение фильтрации на AJAX

Итак: у нас есть готовый магазин, в каталоге выведен умный фильтр. Для включения моментальной фильтрации: проходим в настройки компонента и находим следующие параметры

  • Включить режим AJAX: собственно, включает режим
  • Включить прокрутку к началу компонента: Опционально, на фильтр не влияет. Но рекомендую не включать, для удобства пользователей (смотри в видео)
  • Включить эмуляцию навигации браузера: Опционально, на фильтр не влияет. Но рекомендую включать, для удобства пользователей (смотри в видео)
  • Мгновенная фильтрация при включенном AJAX: собственно, включает фильтрацию

У кого нет таких параметров в каталоге: Скорее всего они отсутсвуют в параметрах вашего шаблона каталога. Включить можно, открыв шаблон section.php вашего каталога и добавив/отредактировав параметры:

Основные
"AJAX_MODE" => "Y",
"INSTANT_RELOAD" => "Y" //Это указываем у фильтра

Опциональные
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_HISTORY" => "Y",

В идеале, скопировать файл parametrs.php из штатного шаблона каталога (на свой страх и риск, я не знаю модель построения вашего каталога, потому возможны ошибки)

Альтернативный вариант работы фильтра, без включения AJAX для всего каталога, рассмотрен в заметке Умный фильтр во всплывающей панели на мобильных.

Более наглядно, смотрите в видео. Умный фильтр с AJAX в 1C-Битрикс.

Василий Крохин 13.08.2018
задравствйте, а если нет такого  пункта Мгновенная фильтрация при включенном AJAX:

что делать?
Михаил Базаров 13.08.2018
Цитата
Василий Крохин пишет:
"INSTANT_RELOAD" => "Y"
"INSTANT_RELOAD" => "Y"  в настройках фильтра
Василий Крохин 01.09.2018
Цитата
Михаил Базаров пишет:
Цитата
Василий Крохин пишет:
"INSTANT_RELOAD" => "Y"
"INSTANT_RELOAD" => "Y" в настройках фильтра
не хочет по чему то работать! :(
Дмитрий Шкуренко 24.06.2019
А как сделать, чтобы еще и сортировка не слетала, да еще и изменение сортировки, не сбрасывало фильтр?
Artur Minasyan 04.07.2019
Hi Михаил. Thank you so much! You are doing nice job. Big thumbs up! Sorry if I waste you're server space  :D  but I want to say thank you!
YA_17839337 13.12.2020
Здравствуйте, Михаил. Во первых спасибо за видео, очень помогли разобраться с Битрикс.
Пытаюсь сделать магазин, взял за основу вашу заготовку Все отлично работает, но столкнулся с одной проблемой, победить которую никак не могу.

Малая корзина на AJAX - все отлично, включаю AJAX для Умного фильтра, все фильтруется, однако при добавлении товара в корзину, ajax отрабатывается но иконка загрузки не пропадает. При добавлении следующего товара, появляется еще одна иконка и тд. Если отключить ajax умного фильтра все работает нормально.

Также я вывел на главную товары с помощью catalog.section и там такая же история - ajax отрабатывает, иконка загрузки продолжает висеть

В шаблонах практически ничего пока не менял, только добавил немного разметки.
Не моли бы подсказать в чем может быть проблема? Я перепробовал массу вариантов, не могу понять где возникает конфликт.
YA_17839337 13.12.2020
Здравствуйте, Михаил.
Пытаюсь сделать магазин, взял за основу вашу заготовку Все отлично работает, но столкнулся с одной проблемой, победить которую никак не могу.

Малая корзина на AJAX - все отлично, включаю AJAX для Умного фильтра, все фильтруется, однако при добавлении товара в корзину, ajax отрабатывается но иконка загрузки не пропадает. При добавлении следующего товара, появляется еще одна иконка и тд. Если отключить ajax умного фильтра все работает нормально.

Также я вывел на главную товары с помощью catalog.section и там такая же история - ajax отрабатывает, иконка загрузки продолжает висеть

В шаблонах практически ничего пока не менял, только добавил немного разметки.
Не моли бы подсказать в чем может быть проблема? Я перепробовал массу вариантов, не могу понять где возникает конфликт.
Guest 23.06.2021
Не работает ваш вариант.
Мгновенной фильтрации нет в настройках компонента, вообще не понимаю откуда она появляется. На разных сайтах на Битриксе ставлю чистый компонент Умного фильтра и там нет такой настройки.
Данный код прописываю вручную в компоненте Умного фильтра и ничего не работает. Фильтр срабатывает только по кнопке "Показать":
"AJAX_MODE" => "Y",
"INSTANT_RELOAD" => "Y"
Михаил Базаров 23.06.2021
Цитата
Guest пишет:
Не работает ваш вариант.
Мгновенной фильтрации нет в настройках компонента, вообще не понимаю откуда она появляется. На разных сайтах на Битриксе ставлю чистый компонент Умного фильтра и там нет такой настройки.
Данный код прописываю вручную в компоненте Умного фильтра и ничего не работает. Фильтр срабатывает только по кнопке "Показать":
"AJAX_MODE" => "Y",
"INSTANT_RELOAD" => "Y"
Это нужно указывать не у фильтра а у комплексного компонента каталога или раздела каталога, смотря в каких условиях делаете эту фильтрацию.
Петр 23.02.2024
мгновенная фильтрация не будет работать для редакции старт и стандарт, сам всю голову сломал пока это не нашел. костыли делать надо.