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

Кка можно получить определённые свойства

00 голосов
7
Используя для выборки CIBlockElement::GetProperty столкнулся с тнм, сто не могу понять как выбрать только определённые свойства. К примеру
Код
$arFilterProperty =  Array("CODE"=>"size","CODE"=>"price");
$db_props = CIBlockElement::GetProperty(97, $ar_fields["ID"], "sort", "asc",$arFilterProperty);

Возвращает только свойство price а мне нужно выбрать и то и то. Помогите советом пожалуйста.
Код
$arFilterProperty =  Array("?CODE"=>"size | capacity");
Так выбирает вообще все свойства
Код
$arFilterProperty =  Array("?CODE"=>"size , capacity");

И так тоже
спросил 22 Авг, 13 от BAGIRA (560 баллов)

7 Ответы

00 голосов
Если вам надо значения свойств выбрать, используйте GetList()
"PROPERTY_CODE"...
ответил 22 Авг, 13 от Almarea (3,760 баллов)
00 голосов
Если вы про CIBlockElement то GetList() вернёт список элементов отсортированных по фильтру. А если про CIBlockProperty то GetList() вернёт список свойств. Или я неправильно понял ваш совет? У меня на страницу приходит несколько значений. Затем я CIBlockElement::GetList нахожу те элементы в которых эти значения пересекаются со значениями свойств. После этого, для того, чтобы получить значения свойств я и использую CIBlockElement::GetProperty в котором похоже не работает логика в фильтре. Я получаю значения всех свойств. Проблема состоит в том, что мне не нужны все свойства а только определённые.
ответил 01 Ноя, 13 от BAGIRA (560 баллов)
00 голосов
Цитата
Игорь пишет:
$arFilterProperty = Array("CODE"=>"size","CODE"=>"price");

Вместо этого
Код
$arFilterProperty =  Array("CODE"=>array("size","price"));
ответил 07 Фев, 14 от Pomnep (13,960 баллов)
00 голосов
Евгений Жуков,
Вернул пустоту :(
Код
$arFilterProperty =  Array("?CODE"=>array("size","price")); 

А если так то опять вываливает все свойства
ответил 27 Май, 14 от BAGIRA (560 баллов)
00 голосов
И все же, что откуда надо достать?
ответил 24 Сен, 14 от Almarea (3,760 баллов)
00 голосов
YakDm,
Свойства элемента. Но не все, а только определённые. К примеру у элемента есть 3 свойства. Синий, Красный, Зелёный. Мне нужны только Синий и Красный. А выбираются все свойства
ответил 28 Янв, 15 от BAGIRA (560 баллов)
00 голосов
Код
$db_res = CIBlockElement::GetList(
     array(),
     array("IBLOCK_ID" => $id), //Можно ид элемента передать, чтоб для  элемента
     false, 
     false, 
     array("ID",""IBLOCK_ID", "PROPERTY_красный", "PROPERTY_синий", "PROPERTY_зеленый",)
);


Это если нужно получить значения этих свойств.
ответил 12 Май, 15 от Almarea (3,760 баллов)