Как сделать ресайз изображения в Битрикс?

14.08.2018
258

Ситуация: вы заполнили сайт с большим количеством товаров или статей. После этого проводите тест на оптимизацию и замечаете множество уведомлений с рекомендациями уменьшить вес/размер картинок. Что делать?

  • Изменить размеры каждой картинки вручную;
  • Изменить размеры картинок с помощью таск-менеджеров;
  • Воспользоваться стандартной функцией Bitrix Framework CFile::ResizeImage!

Тут все просто. Для этого нам потребуется всего лишь ID изображения.


//вы можете вполне обойтись без описанных ниже перменных, но для ясности мы все же их объявим.
$width = 300;//максимальная ширина изображения 
$height = 300;//максимальная высота изображения
$pictureId = $arItem['PREVIEW_PICTURE']['ID'];//ID изображения, в данный момент берем ID картинки для анонса у элемента в списке

//BX_RESIZE_IMAGE_PROPORTIONAL - применяем параметр для сохранения пропорций
$resizedImage = CFile::ResizeImageGet($pictureId, array('width'=>$width, 'height'=>$height), BX_RESIZE_IMAGE_PROPORTIONAL, false );

//Обратите внимание что при выводе ссылки на изображение, мы прописываем 'src' именно в нижнем регистре. Это критично.
echo '< img src="'.$resizedImage['src'].'" alt="'.$arItem['PREVIEW_PICTURE']['ALT'].'" >';

Преобразованные изображения будут храниться в папке /upload/resize_cache/.

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


Комментарии 0

*Поля обязательные для заполнения