03.12.2010
1. Выводит ключи по которым доступны необходимые данные компонента:
Выводит ключи по которым доступны необходимые данные элемента на странице списка элементов компонента.
2. Выводит свойство на странице элемента компонента, если это не массив:
Для вывода свойства элемента на странице списка элементов компонента используется $arResult.
Для вывода свойства Новости на главной использовался вот такой код:
2.1. Если свойство в виде массива данных (будет разделен / ):
2.3. Если свойство в виде массива фотографий:
Пример в виде таблицы. В примере используется еще галерея и стиль CROP, но не обращайте на них внимания, это сделано уже для себя, т.к. часто их использую.
3. Выводит ссылку на файл свойства типа "файл":
4. Выводит фото раздела компонента:
5. Выводит описание раздела компонента:
6. Выводит массив свойства "Файл" с описанием к ним. Для этого предварительно в свойствах "Файл" ставится галочка "Выводить поле для описания значения:"
7. Не множественное свойство "Привязка к элементу". Наш элемент имеет свойство PRICE типа "Привязка к элементам" и нам нужно вывести в нем свойство PRICE_DOWN от привязанного элемента. Для этого используем код ниже:
8. Вывести текущую директорию из файла .section.php в шаблоне сайта:
9. Условие, когда пользователь авторизован под Администратором:
10. При выводе свойства или переменной меняем занчение какого-либо символа или кода на свой код:
11. Условие, если число не делится без остатка на 4:
12. Выводим свойство, ограничивая количество символов до 13 штук:
Количество показов: 35883
Работа со свойствами компонентов Битрикс
Свойства элементов Битрикса - очень большая часть в разработке сайта на данной системе управления. Хочу поделится несколькими нужными моментами в работе с ними.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 class="crop"><a class="highslide" 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($arElement["PROPERTIES"]["foto1"]["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); ?>" class="highslide " 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 }?>
7. Не множественное свойство "Привязка к элементу". Наш элемент имеет свойство PRICE типа "Привязка к элементам" и нам нужно вывести в нем свойство PRICE_DOWN от привязанного элемента. Для этого используем код ниже:
<?php if ($arResult["PROPERTIES"]["price"]["VALUE"]) {?>
<?
$arPrice = GetIBlockElement($arResult["PROPERTIES"]["price"]["VALUE"]);
echo $arPrice["PROPERTIES"]["price_down"]["VALUE"];
?>
<?php }?>
8. Вывести текущую директорию из файла .section.php в шаблоне сайта:
<? include($_SERVER['DOCUMENT_ROOT'].$APPLICATION->GetCurDir().'.section.php');
print $sSectionName;?>
9. Условие, когда пользователь авторизован под Администратором:
<? if ($GLOBALS['USER']->IsAdmin()):?>
<?endif?>
10. При выводе свойства или переменной меняем занчение какого-либо символа или кода на свой код:
<?
$document = $arResult['PREVIEW_TEXT'];
$search = array ("'#'");
$replace = array ("\" /></td><td>");
$text = preg_replace ($search, $replace, $document);
?>
11. Условие, если число не делится без остатка на 4:
<?if (fmod($i,4)){?>style="margin-right:8px;<?}?>
12. Выводим свойство, ограничивая количество символов до 13 штук:
<?=substr($arItem["PROPERTIES"]["TIP_DVIG"]["VALUE"], 0, 13);?>
Количество показов: 35883