Особенности авторесайза Битрикс
При выполнении доработок битрикс на сайте заказчика столкнулся с такой особенностью авторесайза Битрикс. У меня не работал код авторесайза в новом моем шаблоне компонента (но в старом шаблоне заказчика он работал)
// 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 )
В результате на сайте заказчика это выглядело так:
Ещё статьи:
01.12.2020
Свершилось, битрикс перестал поддерживать mbstring.func_overload
Теперь для обновления на версию v20.100.0 требуется удаление опции mbstring.func_overload. Эта опция более не требуется и не поддерживается платформой...
ID: 313
13.08.2020
Получить id элемента привязки к пользователю битрикс
Получить id элемента, который добавлен в свойство привязки к пользователю битрикс
ID: 250
22.06.2020
Дубли внешнего кода не грузятся при импорте Битрикс
При копировании штатными средствами элементов (кнопка копировать) обнаружил такой момент, что при XML экспорте и последующим XML импорте не вс...
ID: 243
Новые статьи в блоге:
07.01.2021
Почему в битрикс автоматически отключаются пользователи
На сайте с определённой периодичностью происходила деактивация аккаунтов пользователей. Логин становился неактивным и зайти на сайт не получалось.
ID: 314
07.01.2021
Ошибка сокетов
Бывает выскакивает такая ошибка в битрикс "Работа с сокетами Ошибка! Не работает", "Замечание. Не удалось провер...
ID: 315
26.11.2020
Вывод свойств фильтра картинками
Кастомный вид свойства в умном фильтре. Стандартных видов в виде списка, радиокнопок и выпадающих списков обычно недостаточно
ID: 312