Иногда в списке элементов необходимо вывести галерею изображений (к примеру, в виде карусели).
Для этого нужно в result_modifier.php шаблона списка news.list прописать следующий код:
<? foreach($arResult["ITEMS"] as $ID=>$arItem) { if (!empty($arItem['PROPERTIES']['PHOTOS']['VALUE'])) { foreach ($arItem['PROPERTIES']['PHOTOS']['VALUE'] as $img) { $arResult["ITEMS"][$ID]['GALLERY'][] = array( "SMALL"=>CFile::ResizeImageGet($img, array('width' => 300, 'height' => 182), BX_RESIZE_IMAGE_EXACT, true), "BIG"=>$img ); } } } ?>
,где PHOTOS – символьный код множественного свойства.
В массив GALLERY в SMALL будут собраны измененные в размерах изображения, в BIG – значения исходных изображений (путь к которым впоследствии в template.php получаем с помощью CFile::GetPath).
Затем, для вывода изображений, в template.php:
<?if(count($arItem['GALLERY']) > 1):?> <div class="thmb flexslider<?=$num?> unstyled"> <ul class="slides"> <?foreach($arItem['GALLERY'] as $arPhoto):?> <li class="blink"> <a href="<?=CFile::GetPath($arPhoto["BIG"])?>" class="fancybox blink" target="_blank" rel="gallery-<?=$num?>"> <img border="0" src="<?=$arPhoto["SMALL"]["src"]?>" alt="" title="" /> </a> </li> <?endforeach;?> </ul> </div> <?endif;?>