Вывод элементов инфоблока битрикс

РАБОТА СО СВОЙСТВАМИ КОМПОНЕНТОВ БИТРИКС

Свойства элементов Битрикса — очень большая часть в разработке сайта на данной системе управления. Хочу поделится несколькими нужными моментами в работе с ними.

1. Выводит ключи по которым доступны необходимые данные компонента:

Код<pre><?print_r($arResult);?></pre>

Выводит ключи по которым доступны необходимые данные элемента на странице списка элементов компонента.

Код<pre><?print_r($arElement);?></pre>

2. Выводит свойство на странице элемента компонента, если это не массив:

Код<?php if ($arResult["PROPERTIES"]["gorod"]["VALUE"]) {?>

<strong>Город:</strong> <?= $arResult["PROPERTIES"]["gorod"]["VALUE"]." "; ?><br />

<?php } else { ?><?php }?>

Для вывода свойства элемента на странице списка элементов компонента используется $arResult.

Для вывода свойства Новости на главной использовался вот такой код:

Код<?= $arItem["PROPERTIES"]["gorod"]["VALUE"]."&nbsp"; ?>

2.1. Если свойство в виде массива данных (будет разделен  / ):

Код<?php if ($arResult["PROPERTIES"]["TIP"]["VALUE"]) {?>

<strong>Тип:</strong> <? if(is_array($arResult["PROPERTIES"]["TIP"]["VALUE"]))
echo implode(" / ", $arResult["PROPERTIES"]["TIP"]["VALUE"]);

else

echo $arResult["PROPERTIES"]["TIP"]["VALUE"];?><br />

<?php } else { ?><?php }?>

2.3. Если свойство в виде массива фотографий:

Код<?php if ($arResult["PROPERTIES"]["foto_nar"]["VALUE"]) {?>
<?if(count($arResult["PROPERTIES"]["foto_nar"]["VALUE"])>0):?>
<div style="float:left;">
<table width="180px" cellpadding="0" cellspacing="0">
<tr><td height="30px">
<strong>Фотографии:</strong>
</td></tr>
<?foreach($arResult["PROPERTIES"]["foto_nar"]["VALUE"] as $PHOTO):?>
<tr><td valign="top" height="160px">
<div><a onclick="return hs.expand(this)" title="<?=$arResult["NAME"]?>" href="<?=CFile::GetPath($PHOTO); ?>"><img border="0" src="<?=CFile::GetPath($PHOTO); ?>" width="300px" alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" /></a></div>
</td></tr>
<?endforeach?>
</table>
</div>
<?endif?>
<?php } else { ?><?php }?>

Пример в виде таблицы. В примере используется еще галерея и стиль CROP, но не обращайте на них внимания, это сделано уже для себя, т.к. часто их использую.

3. Выводит ссылку на файл свойства типа «файл»:

Код<?=CFile::GetPath($arResult["PROPERTIES"]["foto_nar"]["VALUE"]); ?>

4. Выводит фото раздела компонента:

Код<img style="max-width:300px" src="<?=$arResult["PICTURE"]["SRC"]?>" title="<?=$arResult["NAME"]?>" />

5. Выводит описание раздела компонента:

Код<?=$arResult["DESCRIPTION"]?>

6. Выводит массив свойства «Файл» с описанием к ним. Для этого предварительно в свойствах «Файл» ставится галочка «Выводить поле для описания значения:»

<?php if ($arItem["PROPERTIES"]["D_F_1"]["VALUE"]) {?>
<?if(count($arItem["PROPERTIES"]["D_F_1"]["VALUE"])>0):?>
<h6>Декоры:</h6>
<?foreach($arItem["PROPERTIES"]["D_F_1"]["VALUE"] as $PHOTO => $val):?>
<a href="<?=CFile::GetPath($val); ?>" onclick="return hs.expand (this, { wrapperClassName: 'wide-border'})">
<img style="margin-top: 10px" width="100" height="100" src="<?=CFile::GetPath($val); ?>" alt=      "<?=$arItem["PROPERTIES"]["D_F_1"]["DESCRIPTION"][$PHOTO];?>" /></a><br><br>
<?=$arItem["PROPERTIES"]["D_F_1"]["DESCRIPTION"][$PHOTO];?>
<?endforeach?>
<?endif?>
<?php }?>