В этой статье разберем популярные вопросы по выводу свойств элемента инфоблока:
Свойство строка:
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Свойство строка (множественное):
<?foreach($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"] as $value):?> <?echo "<li>".$value."</li>";?> <?endforeach;?>
Свойство число:
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Свойство список:
<ul> <?$i=0;foreach($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"] as $сity):?> <li><?=$сity?></li> <?endforeach;?> </ul>
Свойство список(множественное):
<ul> <?foreach($arResult["DISPLAY_PROPERTIES"] as $idProp=>$arProperty):?> <?if($idProp =="сюда вставляем код свойства"): ?> <li><?=$arProperty["DISPLAY_VALUE"];?></li> <?endif?> <?endforeach;?> </ul>
Свойство файл:
Варианты применения: путь к изображению, ссылку для скачивания файла
<?=CFile::GetPath($arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE'])?>
Свойство файл (множественное):
<?foreach($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"] as $val):?> <? $src = CFile::GetPath($val); ?> <img src="<?=$src; ?>"> <?endforeach;?>
Свойство html/текст:
<?=htmlspecialcharsBack($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"]["TEXT"])?>
Свойство дата:
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Свойство дата/время:
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Свойство привязка к Яндекс карте:
<?
$coord = explode(",", $arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']);?>
<?$APPLICATION->IncludeComponent(
"bitrix:map.yandex.view",
"",
Array(
"INIT_MAP_TYPE" => "MAP",
"MAP_DATA" => serialize(array(
'yandex_lat' => $coord[0],
'yandex_lon' => $coord[1],
'yandex_scale' => 9, //Масштаб карты
'PLACEMARKS' => array (
array(
'TEXT' => $arProperty["сюда вставляем код свойства для текста на маркере"]["VALUE"],
'LON' => $coord[1],
'LAT' => $coord[0],
),
),
)),
"MAP_WIDTH" => "100%",
"MAP_HEIGHT" => "300",
"CONTROLS" => array("ZOOM", "TYPECONTROL", "SCALELINE"),
"OPTIONS" => array("ENABLE_DRAGGING"),
"MAP_ID" => ""
),
false
);?>
Свойство привязка к Google Maps:
Не забудьте заранее получить ключ к api Google Maps(включить его тоже не забудьте там же) и вставить, где указано ранее в коде
или работать не будет.
Выглядит ключ примерно таким образом : AIzaSyD57b2klhTcVUYoGhkOf3h1ck3SKmTvNSQ
<?php $coord = explode(",", $arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']);?>
<style>
#mapgm {
height: 300px;
}
</style>
<div id="mapgm"></div>
<script>
function initMap() {
var cdata = {lat: <?php echo $coord[0];?>, lng: <?php echo $coord[1];?>};
var map = new google.maps.Map(document.getElementById('mapgm'), {
center: cdata,
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
draggable: true,
fullscreenControl: false,
zoom: 11
});
var marker = new google.maps.Marker({
position: cdata,
map: map,
icon: '/bitrix/images/marker.png' //путь к маркеру для карты
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=ВМЕСТО ЭТОГО ТЕКСТА ОБЯЗАТЕЛЬНО ПРОПИСЫВАЕМ КЛЮЧ К API GOOGLE MAPS&callback=initMap"
async defer></script>
Свойство простой чекбокс (строка):
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE'] ?>
Свойство простой чекбокс (число):
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE'] ?>
Свойство привязка к элементам (множественное):
Выводим ссылки и названия привязанных элементов
<ul> <?foreach($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"] as $idel):?> <?$obj = CIBlockElement::GetByID($idel);?> <?if($objres = $obj->GetNext())?> <li><a href='<?=$objres["DETAIL_PAGE_URL"];?>'><?=$objres["NAME"];?></a></li> <?endforeach;?> </ul>
Свойство привязка к разделам (множественное):
Выводим ссылки и названия привязанных разделов
<ul> <?foreach($arResult["PROPERTIES"]["сюда вставляем код свойства"]["VALUE"] as $idel):?> <?$obj = CIBlockSection::GetByID($idel);?> <?if($objres = $obj->GetNext())?> <li><a href='<?=$objres["SECTION_PAGE_URL"];?>'><?=$objres["NAME"];?></a></li> <?endforeach;?> </ul>
Свойство привязка к пользователю:
Получаем id привязанного пользователя
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Свойство палитра:
В итоге получаем код цвета
<?=$arResult['PROPERTIES']['сюда вставляем код свойства']['VALUE']?>
Если у Вас что-либо не получается — можете задать вопрос в комментариях.
