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

Поиск элементов инфоблока по свойствам

00 голосов
3
Здравствуйте.
Хотел бы узнать, как производить поиск элемента инфоблока по определённому значению свойства.
Причём не стандартного свойства, которое по умолчанию создаётся для элемента (которые описаны в http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php ), а для тех свойств, которые были созданы отдельно, на вкладке Свойства страницы Редактирования инфоблока.
Т.е., поиск по NAME, IBLOCK_ID и т.д. производится довольно просто:

Код
$arFilter = array(
    "CREATED_BY" => $USER->GetID(),
    "IBLOCK_ID" => $IBLOCK_ID,
//    "NAME" => "355",
);

$rsItems = CIBlockElement::GetList(Array("SORT" => "ASC"), $arFilter, false, false, Array());
 
А если, скажем, я создал дополнительное свойство для инфоблока и назвал новое свойство, скажем, data_otgruzki, то как бы я его не добавлял в $arFilter, поиск по нему, как я вижу, не производится.
Да и на сколько я понял, вытащить в выше указанном коде дополнительные свойства не получится, гугл подсказал, что вытаскиваются свойства отдельным кодом

Код
$db_props = CIBlockElement::GetProperty($IBLOCK_ID, $arResult['ITEMS']['ID'], "sort", "asc", array());

Так как же искать элементы инфоблоков по дополнительным свойствам?
спросил 06 Окт, 13 от JIineage (180 баллов)

3 Ответы

00 голосов
PROPERTY_NAMESVOISTA => "что ишем"

это нужно добавить в фильтр ну и подлючть тоже нужно
PROPERTY_NAMESVOISTA
ответил 20 Окт, 13 от MAPKOBKA (380 баллов)
00 голосов
На приведённой Вами странице (http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php) как раз все и написано:

Цитата
  • PROPERTY_<PROPERTY_CODE > - фильтр по значениям свойств, где PROPERTY_CODE - код свойства или мнемонический код. Для свойств типа "Список", "Число", "Привязка к элементам" и "Привязка к разделам"  - Число. Для прочих - Маска;
  • PROPERTY_< PROPERTY_CODE>_VALUE - фильтр по значениям списка для свойств типа "список" (Маска), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
Т.е., если у Вас есть дополнительное свойство "PROP1", тогда посик по нему будет:
Цитата
$arFilter = array( "IBLOCK_ID" => $IBLOCK_ID, "PROPERTY_PROP1" => "Значение свойства", );
$rsItems = CIBlockElement::GetList(Array("SORT" => "ASC"), $arFilter, false, false, Array());
ответил 22 Янв, 14 от Yang (100 баллов)
00 голосов
Супер.
Спасибо. Вот про описание на странице документации - проглядел...
ответил 10 Май, 14 от JIineage (180 баллов)

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

0 голосов
1 ответ
спросил 20 Июль, 15 от Rattlesneyk (140 баллов)
0 голосов
1 ответ
спросил 16 Фев, 14 от CeBep (300 баллов)
0 голосов
0 ответов
0 голосов
3 ответов
0 голосов
0 ответов