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

Фильтрация по множественному полю

00 голосов
2
Есть множественное поле привязки к элементам. По нему нужно провести фильтрацию каталога стандартным компонентом bitrix:catalog.filter. Обычно я привязкой пользовался в фильтрации, там все по айди привязки удавалось доставать, а теперь поле множественное.

Каким образом в него вводить данные, чтобы отфильтровать? И вообще такое возможно?
спросил 03 Май, 14 от KeiDen (400 баллов)

2 Ответы

00 голосов
Ладно, уже все проще - формирую массив внутри фильтра:
Код
<input type="hidden" name="arrFilter_pf[CAT_PROPERTIES][]" size="20" value="7" />
<input type="hidden" name="arrFilter_pf[CAT_PROPERTIES][]" size="20" value="8" />


внутри каталога стандартный CIBlockElement::GetList и эта переменная попадает в arFilter в таком виде:
Код
array(1) { ["PROPERTY"]=> array(1) { ["?CAT_PROPERTIES"]=> array(3) {[0]=> string(1) "8" [1]=> string(1) "7" } } }


ну и естественно он работает как "ИЛИ", а мне нужно логическое "И". Пробовал вот так:
Код
<input type="hidden" name="arrFilter_pf[CAT_PROPERTIES][]" size="20" value="7" />
<input type="hidden" name="arrFilter_pf[CAT_PROPERTIES][]" size="20" value="8" />
<input type="hidden" name="arrFilter_pf[CAT_PROPERTIES][LOGIC]" size="20" value="AND" />

не помогает. Как сделать логику?
ответил 28 Дек, 14 от KeiDen (400 баллов)
00 голосов
Логическое "И" в рамках значения одного свойства нельзя сделать, т.к. ОДНО значение ОДНОГО свойства хранится в ОДНОЙ записи таблицы. Т.е. логика "И" подразумевает запрос: выбрать все записи, где значение одной записи равно, например, и "2", и "3", и "4", а таких записей просто нет.

Поднималась эта тема много раз.
ответил 16 Апр, 15 от Delp (7,220 баллов)

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

0 голосов
0 ответов
0 голосов
5 ответов
спросил 17 Май, 13 от venomik (200 баллов)
0 голосов
3 ответов