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

Получение свойств элементов

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

$firstitems = GetIBlockElementListEx("routers", Array(), Array(), Array("name"=>"asc"), false, Array("NAME"=>$_POST["firstpoint"]), Array(), false);
$seconditems = GetIBlockElementListEx("routers", Array(), Array(), Array("name"=>"asc"), false, Array("NAME"=>$_POST["secondpoint"]), Array(), false);

while ($arItem = $firstitems->GetNext())
{
while ($SecarItem = $seconditems->GetNext())
{
// Что здесь необходимо вызвать, что бы получить доступ?
}
}
спросил 21 Июль, 13 от Grey (160 баллов)

7 Ответы

00 голосов
$SecarItem["PROPERTIES"]["<имя свойства>"]["VALUE"]

Это применимо к свойствам типа строка, число. Вывод множественных свойств, свойств типа список и файл осуществляется по-другому. Если вам это требуется, то я предоставлю вам пример.
ответил 21 Июль, 13 от BlackEva (820 баллов)
00 голосов
Сделал как вы подсказали - но ничего не выводит. Просмотрел массив print_r($SecarItem) на существование [PROPERTIES] - такового не оказалось. Свойство строка и немножественное. В чем может быть трабл?
ответил 13 Сен, 13 от Grey (160 баллов)
00 голосов
Пофиксил этот трабл только таким способом - вызвал свойства только для конкретного элемента...

$first = GetIBlockElement($FirarItem["ID"]);
$first["PROPERTIES"]["<имя_свойства>"]["VALUE"];
ответил 11 Дек, 13 от Grey (160 баллов)
00 голосов
Цитата
SecarItem["PROPERTIES"]["<имя свойства>"]["VALUE"]

Это применимо к свойствам типа строка, число. Вывод множественных свойств, свойств типа список и файл осуществляется по-другому. Если вам это требуется, то я предоставлю вам пример.


Вывод свойст типа список можно увидеть?
ответил 26 Март, 14 от Grey (160 баллов)
00 голосов
Цитата
Вывод свойст типа список можно увидеть?

Вывод значения свойства типа список осуществляется точно также, только если он не множественный.
Element["PROPERTIES"]["<имя свойства>"]["VALUE"]
ответил 18 Июль, 14 от BlackEva (820 баллов)
00 голосов
Цитата
Вывод значения свойства типа список осуществляется точно также, только если он не множественный.
Element["PROPERTIES"]["<имя свойства>"]["VALUE"]


Цитата
$SecarItem["PROPERTIES"]["<имя свойства>"]["VALUE"]

Это применимо к свойствам типа строка, число. Вывод множественных свойств, свойств типа список и файл осуществляется по-другому. Если вам это требуется, то я предоставлю вам пример


Может стоит быть хоть немного более внимательными с ответами... :!: :!: :!:
ответил 19 Ноя, 14 от Grey (160 баллов)
00 голосов
Все зависит от того, что вы хотите вывести.

Если вы хотите вывести текущее значение не множественного свойства типа список, то используйте
Код
$Element["PROPERTIES"]["<имя свойства>"]["VALUE"]


Если же вы хотите вывести все возможные значения свойства типа список, то нужно использовать другую конструкцию:
Код
$enum_props = CIBlockPropertyEnum::GetList(Array("NAME"=>"ASC"), Array("CODE"=>"<имя свойства>"));
while($arEnumProps = $enum_props->GetNext())
{
?>
<option value="<? echo $arEnumProps["ID"]?>"><?echo $arEnumProps["VALUE"]?></option>
<?
}


А если вы хотите вывести значения множественного свойства типа список, то воспользуйтесь следующей конструкцией:
Код
$enum_props = CIBlockPropertyEnum::GetList(Array("NAME"=>"ASC"), Array("CODE"=>"<имя свойства>"));
while($arEnumProps = $enum_props->GetNext())
{
if (in_array($arEnumProps["ID"], $Element["PROPERTIES"]["<имя свойства>"]["VALUE"])) echo $arEnumProps["VALUE"];
}
ответил 15 Март, 15 от BlackEva (820 баллов)

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

0 голосов
1 ответ
спросил 06 Апр, 14 от Genifer (100 баллов)
0 голосов
4 ответов
спросил 29 Дек, 13 от none (100 баллов)