Выводим свойства полей инфоблока в bitrix, на страницу

Вывод множественных свойств типа строка в detail.news где «MP_STAFF» это название свойства, а «$arProperty» название переменной

<?if($arResult["DISPLAY_PROPERTIES"]["MP_STAFF"]):?>
<?foreach($arResult["DISPLAY_PROPERTIES"]["MP_STAFF"]["VALUE"] as $arProperty):?>
<i class="fa fa-square-o"></i> <?=$arProperty;?><br>
<?endforeach;?>
<?endif;?>

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

Для этого достаточно в шаблоне bitrix:news.detail вписать

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

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

Чтобы вывести и название и значение свойства есть вариант:

<? 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'];?>

Что бы вевести свойство типа html/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 $что_нибудь_понятное;?>» />

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

<?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?>

Вывести все свойства

<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<p><strong><?=$arProperty["NAME"]?></strong>:&nbsp;
<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?=implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);?>
<?else:?>
<?=$arProperty["DISPLAY_VALUE"];?>
<?endif?>
</p>
<?endforeach;?>

Информация взята с сайта :  www.gvozdevsoft.ru

Рубрики: bitrix

2 комментария

Олег · 28.07.2020 в 21:39

Все свойства не выводятся, код не рабочий

Roman K · 29.07.2020 в 13:23

Обратите внимание на переменные $arResult и $arItem, а так же в настройках компонента укажите необходимые для вывода свойства.
Представленный код работает, проверил на проекте.

Добавить комментарий

placeholder

Ваш адрес email не будет опубликован. Обязательные поля помечены *