Особенности авторесайза Битрикс

Особенности авторесайза Битрикс

16.07.2017

При выполнении доработок битрикс на сайте заказчика столкнулся с такой особенностью авторесайза Битрикс. У меня не работал код авторесайза в новом моем шаблоне компонента (но в старом шаблоне заказчика он работал)

// additional photos
$LINE_ELEMENT_COUNT = 3; // number of elements in a row
if(count($arResult["MORE_PHOTO"])>0):?>
<? foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
<? $file_prew = CFile::ResizeImageGet($PHOTO, array('width'=>80, 'height'=>'80'), BX_RESIZE_IMAGE_EXACT, true);
< img_ border="0" src="<?=$file_prew["src"]?>" width="<?=$file_prew["width"]?>" height="<?=$file_prew["height"]?>" 
alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" />
</a>
<? endforeach?>
<? endif?>

Хотя и ранее аналогичный код работал. Решил посмотреть получаемые данные, сделал прит массива $PHOTO

Array
(
[ID] => 53
[SRC] => /upload/iblock/2e0/2e0b013b82d866537fd15a3e972f06b2.jpg
[WIDTH] => 157
[HEIGHT] => 503
)
Array
(
[ID] => 54
[SRC] => /upload/iblock/804/8048015b884cc03706a5b224a4e895f9.jpg
[WIDTH] => 126
[HEIGHT] => 503
)

Еще раз внимательно посмотрел документацию по ResizeImageGet и решил, что нужно указать идентификатор файла напрямую $PHOTO[‘ID’],.

<? if(count($arResult["MORE_PHOTO"])>0):?>
<? foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
<? $file = CFile::ResizeImageGet($PHOTO['ID'], array('width'=>120, 'height'=>'120'), BX_RESIZE_IMAGE_EXACT, true); ?>
<?//print_r($file)?>
<? print_r($PHOTO)?>
<? endforeach?><? endif?>

Проверка показала, что массив после ресайза не пустой и формируется как нужно. Пример принта $file:

Array
(
    [src] => /upload/resize_cache/iblock/2e0/120_120_2/2e0b013b82d866537fd15a3e972f06b2.jpg
    [width] => 120
    [height] => 120
    [size] => 4937
)

Array
(
    [src] => /upload/resize_cache/iblock/804/120_120_2/8048015b884cc03706a5b224a4e895f9.jpg
    [width] => 120
    [height] => 120
    [size] => 5053
)

В результате на сайте заказчика это выглядело так:


Ещё статьи:

13.08.2020 Получить id элемента привязки к пользователю битрикс
Получить id элемента, который добавлен в свойство привязки к пользователю битрикс ID: 250

22.06.2020 Дубли внешнего кода не грузятся при импорте Битрикс
При копировании штатными средствами элементов (кнопка копировать) обнаружил такой момент, что при XML экспорте и последующим XML импорте не вс... ID: 243

17.06.2020 Журнал отправки почты на сайте Битрикс
В Битриксе есть инструменты для получения данных отправки почты на сайте. Рассмотрим, что в итоге есть. ID: 242

Новые статьи в блоге:

20.08.2020 Недокументированная связка ElementTable и getEntity
С помощью ElementTable::getEntity создаем объект Query. В качестве параметра он принимает объект сущности, относительно которой мы строим запрос испол... ID: 254

19.08.2020 Миф о сложности поиска специалиста Битрикс
Существует миф о сложности поиска специалиста Битрикс. Но как выясняется проблема поиска специалиста касается любой системы, фреймворков. Цитата: В св... ID: 253

15.08.2020 Получить ID раздела по пользовательскому полю
Как получить ID раздела по пользовательскому полю другого раздела ID: 252

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

© 2015-2020 Web админ
Связаться по WhatsApp