Ознакомьтесь с обновлениями продуктов, которые мы анонсировали! Смотрите, что нового.

/

Описание логики работы фильтра

Индексация

Индексация: модуль СОТБИТ на фильтр не влияет. В фильтре в component_epilog по небольшому скрипту происходит инициализация Global переменной, по которой уже FOOTER включает/отключает индексацию

Когда должно работать:

Когда не должно работать:

Сам компонент фильтра выведен в local/components/itl. 

Важно: вызывается не bitrix:catalog.smart.filter, а itl:catalog.smart.filter

\local\components\itl\catalog.smart.filter\templates.default\component_epilog.php


\bitrix\templates\1kz\footer.php

Правки файлов class.php и component.php компонента catalog.smart.filter

20683 - был добавлен код для транслитераций 


\local\components\itl\catalog.smart.filter\class.php

Фильтр в url формирует две строки соединённые -is-: название фильтра, к примеру n-processor и его значение, к примеру amd.

Первая часть урла в фильтре

Для смены названия используется функция getIBlockItems в файле class.php

На данный момент учтена замена _ на - через значение CODE, можно улучшить код если потребуется и добавить другие варианты замен.

Как должно работать:

  • 1 часть урла проверяется на наличие в ней символа _. Данный символ должен подменятся на -.

Вторая часть урла в фильтре

Учтены все найденные и предполагаемые варианты замены .

Как должно работать:

Расчёт количества товаров в фильтре

Была поставлена задача, по которой нужно было рассчитать количество значений, которые по фильтру действительны, чтобы убирать их из умного фильтра. К примеру: выбрали одну видеокарту в ноутбуках и все процессоры, с которыми нет той же видеокарты будут удалены.

Функционал данный реализован в result_modifier.php catalog.smart.filter

Но есть нюанс: код исключает из подсчёта и последующего удаления всё значения, в которых есть апостроф

Как должно работать:


Возможные ошибки:

  • Можно выбрать комбинацию фильтров так, что они будут конфликтовать

Переход по ссылкам фильтра по нажатию

Надо было изменить работу фильтра. Раньше при нажатий на значение после некоторой паузы происходил автоматический переход на отфильтрованную страницу. Причина была в некорректном срабатываний из-за скрипта. Причина поломки была обнаружена и исправлена, но мы решили выполнить задачу в соответствий с запросом и теперь фильтр работает только по нажатию на показать

Как должно работать:

Как не должно работать: