Для вывода множественного свойства типа файл в news.detail подойдёт следующий код:
Код |
---|
//Проверяем, есть ли у элемента хоть одно фото (для свойства элемента "PHOTOS")
if(count($arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"]) > 0)
{
//Разбираемся с дурацким выводом массива со значениями файлов, структура которого зависит от того, одно фото загружено или несколько
if(isset($arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"]['ID']))
{
$tmp = $arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"];
unset($arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"]);
$arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"][0] = $tmp;
}
//Проходимся по всем файлам и выводим превью фото нужного размера и ссылку на полное фото
//В данном примере описано сразу подключение JQuery-плагина Fancybox для вывода фото
foreach($arResult["DISPLAY_PROPERTIES"]["PHOTOS"]["FILE_VALUE"] as $photo)
{
$renderImage = CFile::ResizeImageGet($photo, Array("width" => 100, "height" => 100));
?>
<a style="display: block;" class="fancybox" href="<?=$photo["SRC"]?>" data-fancybox-group="gallery"><img alt="" src="<?=$renderImage['src']?>"></a>
<?
}
}
|
Если нужно организовать вывод для news.list: просто нужно вызвать код выше внутри цикла
Код |
---|
foreach($arResult['ITEMS'] as $arItem)
|
и заменить, соответственно, в первом коде $arResult на $arItem.
Ну, и не забывайте, конечно, подключить вывод свойства при вызове компонента:
Код |
---|
"PROPERTY_CODE" => array(
0 => "PHOTOS",
), |
Успехов!)