При штатной установке, интернет-магазина на 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-Битрикс.
что делать?

Цитата |
---|
Василий Крохин пишет: "INSTANT_RELOAD" => "Y" |
Цитата | ||
---|---|---|
Михаил Базаров пишет:
|


Пытаюсь сделать магазин, взял за основу вашу заготовку Все отлично работает, но столкнулся с одной проблемой, победить которую никак не могу.
Малая корзина на AJAX - все отлично, включаю AJAX для Умного фильтра, все фильтруется, однако при добавлении товара в корзину, ajax отрабатывается но иконка загрузки не пропадает. При добавлении следующего товара, появляется еще одна иконка и тд. Если отключить ajax умного фильтра все работает нормально.
Также я вывел на главную товары с помощью catalog.section и там такая же история - ajax отрабатывает, иконка загрузки продолжает висеть
В шаблонах практически ничего пока не менял, только добавил немного разметки.
Не моли бы подсказать в чем может быть проблема? Я перепробовал массу вариантов, не могу понять где возникает конфликт.
Пытаюсь сделать магазин, взял за основу вашу заготовку Все отлично работает, но столкнулся с одной проблемой, победить которую никак не могу.
Малая корзина на AJAX - все отлично, включаю AJAX для Умного фильтра, все фильтруется, однако при добавлении товара в корзину, ajax отрабатывается но иконка загрузки не пропадает. При добавлении следующего товара, появляется еще одна иконка и тд. Если отключить ajax умного фильтра все работает нормально.
Также я вывел на главную товары с помощью catalog.section и там такая же история - ajax отрабатывает, иконка загрузки продолжает висеть
В шаблонах практически ничего пока не менял, только добавил немного разметки.
Не моли бы подсказать в чем может быть проблема? Я перепробовал массу вариантов, не могу понять где возникает конфликт.
Мгновенной фильтрации нет в настройках компонента, вообще не понимаю откуда она появляется. На разных сайтах на Битриксе ставлю чистый компонент Умного фильтра и там нет такой настройки.
Данный код прописываю вручную в компоненте Умного фильтра и ничего не работает. Фильтр срабатывает только по кнопке "Показать":
"AJAX_MODE" => "Y",
"INSTANT_RELOAD" => "Y"

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