Вывести свойства инфоблока

Не раз приходилось сталкиваться с задачей, когда нужно было вывести свойство инфоблока

Для шаблона компонента bitrix:news.detail

Где:
DISPLAY_PROPERTIES — название свойства
ATTRIBUTE — код свойства

<? echo $arResult['DISPLAY_PROPERTIES']['ATTRIBUTE']['DISPLAY_VALUE'];?>

Для вывода название и значение свойств:

<? if ($arResult["DISPLAY_PROPERTIES"]['СВОЙСТВО']){?> //если не пустое 
<?=$arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['NAME']?>  //вывести название 
<?echo $arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['DISPLAY_VALUE'];?>  //и значение 
<?}?>

Для вывода ссылок:

<? if ( $arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"] > 0 ) : ?> 
<? echo '<a href="'.CFile::GetPath($arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"]).'">Вывод ссылок</a> '; ?> 
<? endif; ?>

Вывод свойство в режиме html:

<? echo $arResult['DISPLAY_PROPERTIES']['ATTRIBUTE']['~VALUE'];?>

Вывод свойство в режиме text:

<?=htmlspecialcharsBack($arResult["PROPERTIES"]["Название свойства"]["VALUE"]["TEXT"])?>

Вывод свойство в виде select [список]

<select> 
<option>Выберите</option> 
<?$i=0;foreach($arResult["PROPERTIES"]["СВОЙСТВО"]["VALUE"] as $arRazmer):?> 
<option><?=$arRazmer?></option> 
<?endforeach;?> 
</select>

Множественное свойство типа список: 

<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> 
<?if($pid =="ATT_COMPANY"): ?> 
<li><span>Арендодатель:</span> <?echo $arProperty["DISPLAY_VALUE"];?></li> 
<?endif?> 
<?endforeach;?>

Вывести список связанных элементов,  привязка к элементам в виде списка

<?foreach($arResult["PROPERTIES"]["СВОЙСТВО"]["VALUE"] as $analog):?> 
<?$res = CIBlockElement::GetByID($analog);?> 
<?if($ar_res = $res->GetNext())?> 
<li><b><a href='<?=$ar_res["DETAIL_PAGE_URL"];?>'><?=$ar_res["NAME"];?></a></b></li> 
<?endforeach;?>

Вывести свойство файл-изображение как изображение а не ссылку на загрузку:

<?$что_нибудь_понятное = CFile::GetPath($arResult["PROPERTIES"]["СВОЙСТВО"]["VALUE"]);?> 
<img src="<?echo $что_нибудь_понятное;?>" />

Изображение предварительный просмотр [preview picture]:

1<img src="<?=CFile::GetPath($arOffer["PREVIEW_PICTURE"])?>">

Свойство типа файл с ссылкой на загрузку файла:

<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> 
<? if($pid =="СВОЙСТВА_АТРИБУТ"): ?> 
<li> 
<b>Дополнительные файлы</b> 
<?if(is_array($arProperty["DISPLAY_VALUE"])): 
echo implode($arProperty["DISPLAY_VALUE"]); 
elseif($pid=="MANUAL"): 
?> 
<a href="<?=$arProperty["VALUE"]?>">Скачать</a> 
<?else: 
echo $arProperty["DISPLAY_VALUE"];?> 
<?endif?> 
</li> 
<?endif?>

Вывести кол. комментариев к элементу:

<?=(strlen($arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"]) > 0 ? $arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"] : "0");?>

Немного не в тему но может пригодиться: вывести кол. просмотров элемента:

К парметру вывода компанента добавить: 
"LIST_FIELD_CODE" => array(0=>"SHOW_COUNTER",1=>"",), 
"DETAIL_FIELD_CODE" => array(0=>"SHOW_COUNTER",1=>"",), 

В нужном месте шаблона вставить 
<?=$arItem['SHOW_COUNTER']?> - для списка новостей 
<?=$arResult['SHOW_COUNTER']?> - для детальной новости

Вывести ссылку на детальный просмотр и изображение связанного элемента каталога:

<?if(count($arResult["LINKED_ELEMENTS"])>0):?><b>Товары этого бренда в нашем каталоге:</b> 

<?foreach($arResult["LINKED_ELEMENTS"] as $arElement):?> 

//это ссылка на детальный просмотр 
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"> 
<?=$arElement["NAME"]?> 
</a> 

//это картинка превью товара 
<? 
$res = CIBlockElement::GetByID($arElement["ID"]); 
if($ar_res = $res->GetNext()) 
echo CFile::ShowImage($ar_res['PREVIEW_PICTURE'], 200, 200, "border=0", "", true); 
?> 
<?endforeach;?> 
<?endif?>

Привязка к Google карте

<? $arProperty = $arResult["DISPLAY_PROPERTIES"]; ?>
<? if (isset($arProperty['СВОЙСТВО'])):?>
    <? $arPos = explode(",", $arProperty['СВОЙСТВО']['VALUE']);?>
    <?$APPLICATION->IncludeComponent("bitrix:map.google.view", ".default", array(
            "INIT_MAP_TYPE" => "MAP",
            "MAP_DATA" => serialize(array(
                'google_lat' => $arPos[0],
                'google_lon' => $arPos[1],
                'google_scale' => 13,
                'PLACEMARKS' => array (
                    array(
                        'TEXT' => $arProperty["СВОЙСТВО_ГОРОД"]["VALUE"].", ".$arProperty["СВОЙСТВО_АДРЕС"]["VALUE"],
                        'LON' => $arPos[1],
                        'LAT' => $arPos[0],
                    ),
                ),
            )),
            "MAP_WIDTH" => "600",
            "MAP_HEIGHT" => "600",
            "CONTROLS" => array(
                "SMALL_ZOOM_CONTROL",
                "SCALELINE"
            ),
            "OPTIONS" => array(
                "ENABLE_SCROLL_ZOOM",
                "ENABLE_DBLCLICK_ZOOM",
                "ENABLE_DRAGGING",
                "ENABLE_KEYBOARD"
            ),
            "MAP_ID" => ""
        ),
        false
    );?>
<?endif;?>

документация по API iBlock

Оставьте комментарий