Телеграм: @camouf_ru Почта: mihail@bazarow.ru

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

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

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

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

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

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

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

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

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

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

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

Более наглядно, смотрите в видео

Просмотров: 18678 | Комментариев: 9

Комментарии

Внимание! все сообщения проходят премодерацию. Ваше сообщение появится после проверки
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить файл
Нажимая кнопку "Отправить", Вы принимаете условия
Политики конфиденциальности и обработки персональных данных
Василий Крохин
задравствйте, а если нет такого  пункта Мгновенная фильтрация при включенном AJAX:

что делать?
Имя Цитировать
Михаил Базаров
Цитата
Василий Крохин пишет:
"INSTANT_RELOAD" => "Y"
"INSTANT_RELOAD" => "Y"  в настройках фильтра
Имя Цитировать
Василий Крохин
Цитата
Михаил Базаров пишет:
Цитата
Василий Крохин пишет:
"INSTANT_RELOAD" => "Y"
"INSTANT_RELOAD" => "Y" в настройках фильтра
не хочет по чему то работать! :(
Имя Цитировать
Дмитрий Шкуренко
А как сделать, чтобы еще и сортировка не слетала, да еще и изменение сортировки, не сбрасывало фильтр?
Имя Цитировать
Artur Minasyan
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
Здравствуйте, Михаил. Во первых спасибо за видео, очень помогли разобраться с Битрикс.
Пытаюсь сделать магазин, взял за основу вашу заготовку Все отлично работает, но столкнулся с одной проблемой, победить которую никак не могу.

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

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

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

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

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

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

Примерно с 2013-го года пишу, короткие и не очень, заметки по разработке сайтов на Битрикс. Возможно, будут полезны кому-то еще. Во всех заметках есть возможность комментирования и обсуждения. Вы можете задавать уточняющие вопросы прямо там- отвечаю или дополняю заметки по возможности.

Заказaть разработку attention