Заметки

Сжатие картинок в карточке товара

25.07.2016 23:26:27

Для того, чтобы уменьшить картинки товара загруженные в галлерею ("MORE_PHOTO"), нужно добавить следующий код в result_modifier.

<?//Уменьшение размера фотографий товара
if (count($arResult["MORE_PHOTO"]) > 0){
foreach ($arResult["MORE_PHOTO"] as &$PHOTO){
        $TMP = CFile::ResizeImageGet($PHOTO["ID"], array('width' => 1000 , 'height' => 1500), BX_RESIZE_IMAGE_PROPORTIONAL, true);
        $PHOTO["SRC"]= $TMP["src"];
        $PHOTO["WIDTH"]= $TMP["width"];
        $PHOTO["HEIGHT"]= $TMP["height"];
}
    unset ($arOneOffer);
}
//Уменьшение разрмера доп фотографий Торговых предложений
foreach($arResult['OFFERS'] as &$arOneOffer) {
    if (count($arOneOffer["MORE_PHOTO"]) > 0){
        foreach ($arOneOffer["MORE_PHOTO"] as &$PHOTO_OFFER){
            $TMP = CFile::ResizeImageGet($PHOTO_OFFER["ID"], array('width' => 1000 , 'height' => 1500), BX_RESIZE_IMAGE_PROPORTIONAL, true);
            //Приведем массив к верхнему регистру
            $PHOTO_OFFER["SRC"]= $TMP["src"];
            $PHOTO_OFFER["WIDTH"]= $TMP["width"];
            $PHOTO_OFFER["HEIGHT"]= $TMP["height"];
        }
        unset ($PHOTO_OFFER);
    }

    //Новые значения для детальной картинки и анонса
    reset($arOneOffer["MORE_PHOTO"]);
    $arOneOffer["PREVIEW_PICTURE"]= &$arOneOffer["MORE_PHOTO"];
    $arOneOffer["DETAIL_PICTURE"]= &$arOneOffer["MORE_PHOTO"];

}
unset ($arOneOffer);


//Уменьшим размер фото которые отдаются в JS скрипт (для слайдера)
foreach($arResult['JS_OFFERS'] as &$arOneJsOffer) {
    if (count($arOneJsOffer["SLIDER"]) > 0){
        foreach ($arOneJsOffer["SLIDER"] as &$PHOTO_JS_OFFER){
            $TMP = CFile::ResizeImageGet($PHOTO_JS_OFFER["ID"], array('width' => 1000 , 'height' => 1500), BX_RESIZE_IMAGE_PROPORTIONAL, true);
            //Приведем массив к верхнему регистру
            $PHOTO_JS_OFFER["SRC"]= $TMP["src"];
            $PHOTO_JS_OFFER["WIDTH"]= $TMP["width"];
            $PHOTO_JS_OFFER["HEIGHT"]= $TMP["height"];
        }
        unset ($PHOTO_JS_OFFER);
    }

}
unset ($arOneJsOffer);
	

Возврат к списку