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

Al

00 голосов
2
Привет, у меня вопрос по фильтрации инфоблоков.
Мне нужно отобрать инфоблоки у которых значение определённого свойства равняется значению переменной.

Из справки это не очень понятно

PROPERTY_<код свойства>_VALUE - фильтр по значениям списка для свойств типа "список" (можно искать по шаблону [%_]), поиск будет осуществляться по строковому значению списка, а не по идентификатору;

Я делаю примерно так:

$iblock_pr = GetIBlockElementListEx("prices", "price", Array(), Array("SORT"=>"DESC", "ID"=>"DESC"), 20, Array("PROPERTY"=>Array("sect_id"=>Array("VALUE"=>$arIBlockElement["ID"]))));

Где $arIBlockElement определённый выше элемент связанного блока другого типа

У меня почему-то выбираются все блоки,
подскажите, пожалуйста где я ошибаюсь и как правильно нужно пользоваться фильтром в аналогичных ситуациях
спросил 11 Окт, 13 от Kania (5,180 баллов)

2 Ответы

00 голосов
По идее надо писать так:

если sect_id - это свойство типа "Список"
Код
$iblock_pr = GetIBlockElementListEx("prices", "price", Array(), Array("SORT"=>"DESC", "ID"=>"DESC"), 20, Array("property_sect_id_VALUE"=>$arIBlockElement["ID"]))));


и

если sect_id - это простое свойство (например число)
Код
$iblock_pr = GetIBlockElementListEx("prices", "price", Array(), Array("SORT"=>"DESC", "ID"=>"DESC"), 20, Array("property_sect_id"=>$arIBlockElement["ID"]));
ответил 29 Окт, 13 от Tarakota (140 баллов)
00 голосов
Заработало вот так:

$iblock_pr = GetIBlockElementListEx("prices", "price", Array(), Array("SORT"=>"DESC", "ID"=>"DESC"), 20, Array("PROPERTY"=>Array("sect_id"=>$arIBlockElement["ID"])));

Спасибо за отклик
ответил 02 Фев, 14 от Kania (5,180 баллов)

Связанных вопросов не найдено