Шпаргалка: Создание миниатюр в result_modifier.php из MORE_PHOTO

thumb_and_small[1].jpg

Для такой галереи требуется очень маленькая картинка (для блока справа), маленькая (центральная) и большая для увеличения, она уже есть в 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)
   );
}

?>