Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

catalog.filter [FORM_ACTION]

00 голосов
2
Доброй ночи!

Задача: в одной из колонок сайта время от времени появляется форма "Расширенного поиска" по каталогу (Фильтр). Поиск осуществляется по нескольким инфоблокам каталога. Необходимо показывать отфильтрованные элементы на некоторой произвольной странице. Для этого в шаблоне компонента catalog.filter в качестве action я указываю адрес этой страницы. Насколько я понял отсюда, есть два способа передать значения полей фильтра: через командную строку и сессию. Допустим, в моем случае удобнее использовать командную строку. Правильно ли я понимаю, что в этом случае задача решается в лоб: разбираются все переданные параметры и из них формируется arrFilter?

Может есть какой-то устоявшийся подход к решению подобной задачи?
Спасибо за участие!
спросил 24 Апр, 14 от Sturmwind (300 баллов)

2 Ответы

00 голосов
...
ответил 09 Дек, 14 от Sturmwind (300 баллов)
00 голосов
Цитата
Avis Martin пишет:
Допустим, в моем случае удобнее использовать командную строку. Правильно ли я понимаю, что в этом случае задача решается в лоб: разбираются все переданные параметры и из них формируется arrFilter?


Компонент фильтра генерирует необходимые парамтеры, и через $_REQUEST передает данные на страницу, например /action.php

Получается что на страницу /action.php приходит массив:
Код
$arFilter = array(
 "CATEGORY_ID" => "1",
 ">PRICE" => "100",
)

и тд.

На странице /action.php находится компонент каталога, в параметрах которого установлена переменная фильтра $arFilter.

Одним словом, компонент отфильтровывает и показывает нужные значения на основе того, какие данные ему пришли из переменной с фильтром.

Командную строку генерирует компонент фильтра.
ответил 01 Апр, 15 от Perfekt (220 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 11 Апр, 14 от Jugoar (480 баллов)
0 голосов
3 ответов
спросил 23 Март, 14 от StarBlade (100 баллов)
0 голосов
1 ответ
спросил 17 Янв, 14 от Ogyrez (240 баллов)
0 голосов
3 ответов
спросил 18 Авг, 13 от Godvolf (240 баллов)
0 голосов
1 ответ
спросил 28 Июнь, 13 от MlisHka (160 баллов)