Шпаргалка: Создание миниатюр в result_modifier.php из MORE_PHOTO
Запись от 03.06.2014
Для такой галереи требуется очень маленькая картинка (для блока справа), маленькая (центральная) и большая для увеличения, она уже есть в MORE_PHOTO. А вот остальные нужно подготовить, да еще так что бы вписались по размерам. Сделать это можно скриптами, версткой, а можно сразу подготовить картинки нужного размера в result_modifier.php таким кодом (пример для компонента "Элемент раздела"):
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
function getPhotoArray($arData) {
$arThumbPhoto = CFile::ResizeImageGet(
$arData["ID"],
Array('width'=>104, 'height'=>84),
BX_RESIZE_IMAGE_EXACT,
true,
Array()
);
$arSmallPhoto = CFile::ResizeImageGet(
$arData["ID"],
Array('width'=>425, 'height'=>248),
BX_RESIZE_IMAGE_PROPORTIONAL,
true,
Array()
);
$arResult = Array(
"THUMB" => Array(
"SRC" => $arThumbPhoto['src'],
"HEIGHT" => $arThumbPhoto['height'],
"WIDTH" => $arThumbPhoto['width'],
),
"SMALL" => Array(
"SRC" => $arSmallPhoto['src'],
"HEIGHT" => $arSmallPhoto['height'],
"WIDTH" => $arSmallPhoto['width'],
)
);
return $arResult;
}
foreach($arResult["MORE_PHOTO"] as $key=>$iPhotoId) {
$arResult["MORE_PHOTO"][$key] = array_merge(
$arResult["MORE_PHOTO"][$key],
getPhotoArray($iPhotoId)
);
}
?>