Условия обработки персональных данных

Сайт использует технические и персональные данные пользователей для получения маркетинговой и статистической информации. Условия обработки персональных данных посетителей можно ознакомиться по ссылке.

В случае Вашего не согласия с этими условиями - просим Вас покинуть данный сайт. Если Вы продолжаете находиться и использовать сайт - Вы автоматически выражаете свое согласие с условиями обработки персональных данных пользователей сайта

X

bitrix вывести в корень каталога smart.filter (умный фильтр)

первое, что надо сделать, перед тем как читать этот код, изучите этот урок, поиграйтесь с урлами в комплексном компоненте
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2749&LESSON_PATH=3913.4565.2749
Иначе суть не поймете.

Полный файл выглядит вот так sections.php.

И второе , что нам нужно это urlrewrite, там надо задать 2 правила.

1. Мы скопировали шаблон каталога, что бы можно было его изменять (методами битрикс)
сократим код для первого файла
2. Изменили код в файлике section.php . Вытащили из соседних файликов smartfilter и section

затем прописали urlrewrite. Какова цель? Smartfilter хочет хавать в параметре SMART_FILTER_PATH — строку с фильтрами без лишнего
в строке /catalog/filter/3-is-44-or-ыааа-or-ываыва/4-is-06c2964147519f4439979c429c8e7784/apply/
лишним является catalog и apply
те. нам нужен лишь центр
3-is-44-or-ыааа-or-ываыва/4-is-06c2964147519f4439979c429c8e7784
в SEF_RULE строке это выглядит вот так

Это нужно что бы фильтр создал по этой маске нужный урл и перебросил потом на него.

Теперь что делает вот такая конструцкия

ведь у нас есть уже вот такая штука ниже по Urlrerite

Эти оба правила направляют на файлик /catalog/index.php. Только в первом варианте мы получаем
в $_REQUEST[«SMART_FILTER_PATH»] содержимое фильтров!!! Их центр. Что мы выясняли выше!!!.

Осталось лишь подшаманить с SHOW_ALL_WO_SECTION=y и SECTION_ID=0. И все .Фильтр работает!!!

Можете попробовать вывести напрямую))
http://ftask.ru/smarfilter-хардкор

Всего комментариев: 5

  1. Обратная ссылка: bitrix getList и smart.filter- запуск по хардкору | ftask.ru — "Fair task" красивые задачи программиста /

  2. Обратная ссылка: bitrix smart.filter — выводим в корень news | ftask.ru — "Fair task" красивые задачи программиста /

  3. Андрей /

    Здравствуйте!

    У меня почему то уже на отфильтрованной фыдаче когда прожимаешь галки фильтра

    запрос уходит не в корень каталога, а на /catalog/filter…
    https://monosnap.com/file/PJGJIlfIdO7bdR61supaaIr08JweVD

    и отдает 404

    подскажите куда копать?

    Спасибо!

    1. alex / Автор записи

      Проверьте для начала комплексную компоненту, место где роутер формируется. (в вашем случае catalog/index.php — bitrix:catalog?). Скорее всего косяк с с путями sef.
      По любому там косяк найдете.
      Как проверять- продебажьте bitrix:catalog — файл components

  4. Николай /

    Здравствуйте, подскажите пожалуйста, как отфильтровать по тегам (те, что во вкладке seo). В настройках комплексного компонента news выставляю галочку показывать фильтр и выбираю теги. В итоге smart.filter ничего не выводит. Выборку можно сделать только через catalog.filter. Спасибо

Комментирование закрыто