РАБОТА СО СВОЙСТВАМИ КОМПОНЕНТОВ БИТРИКС
Свойства элементов Битрикса — очень большая часть в разработке сайта на данной системе управления. Хочу поделится несколькими нужными моментами в работе с ними.
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"]." "; ?>
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 }?>
aposnov.ru от чистого сердца поздравляю с 9 мая!
Сегодня нету многих с нами.Так было впредь. И будет так.Не угасала б только память —Нетленности высокий знак.Защитников — не зачеркнуть,Помянем тех, чей пройден путь!
Insightful and well-written! Your points are thought-provoking. For those wanting to learn more about this topic, here’s a great resource: FIND OUT MORE. Interested in hearing everyone’s perspective!