Вывод результата работы функции

Вывод результата работы функции

19.01.2016

Одним из важных этапов в администрировании сайта является диагностика возникшей проблемы. Прежде чем, что-то починить, нужно для начала найти источник поломки.
Исходные данные:
Проверка сайта не диагностирует проблем, нет ошибок при тестировании
Суть проблемы: При добавлении одного изображения для свойства типа «файл» автоматом тянется «левое» изображение из /upload/resize_cache/
При добавлении второго фото и последующих левое фото из resize_cache пропадает.
Лицензия «Старт», компонент «новости»

кеш-фото-копия

Мое предположение было, что CFile::ResizeImageGet от одного фото возвращает картинку другого фото.
Направление я определил, это на мой взгляд следующий код вызова АПИ функции, который приводит к проблеме:
<!— Доп. изображения —>
<? foreach ($arResult[«DISPLAY_PROPERTIES»][«PHOTOMISS»][«FILE_VALUE»] as $PHOTO): ?>
<!— Авто ресайз доп. изображений с помощью CFile::ResizeImageGet —>
<? $file = CFile::ResizeImageGet($PHOTO, array(‘width’=>’700’, ‘height’=>’700’),
BX_RESIZE_IMAGE_EXACT, true); ?>
<a href=»<?=$file[«src»]?>» height=»467″ class=»highslide» oncl ick=»return hs.expand(this)»>
<img border=»0″ src=»<?=$file[«src»]?>» width=»110″ height=»110″
alt=»<?=$arResult[«NAME»]?>» title=»<?=$arResult[«NAME»]?>» />
</a>
<? endforeach ?>

Теперь нужно получить массив, который возвращается функцией, при такой проблеме, т.е результат работы функции CFile::ResizeImageGet.  Получить можно следующим способом:

<? foreach ($arResult[«DISPLAY_PROPERTIES»][«PHOTOMISS»][«FILE_VALUE»] as $PHOTO): ?>
<? $file = CFile::ResizeImageGet($PHOTO, array(‘width’=>’700’, ‘height’=>’700’),
BX_RESIZE_IMAGE_EXACT, true); ?>
<?{echo ‘<pre>’; print_r($file); echo ‘</pre>’;} ?>
<? endforeach ?>

Результат:
Array
(
[src] => /upload/iblock/de4/de467d64c8fa52e9a3fa2c1790f91ed8.jpg
[width] => 350
[height] => 467
[size] => 30913
)

Array
(
[src] => /upload/resize_cache/obyava/edf/700_700_2/edf80e7e585ee6d1a070472ee32eead1.jpg
[width] => 700
[height] => 700
[size] => 83450
)

Результат получили. но теперь нам нужно понимать, сколько раз и от каких файлов вызывается метод, что приводит к такому результату.
Добавляем в вывод еще информацию:
$rsFile = CFile::GetByID($PHOTO);
$arFile = $rsFile->Fetch();
print_r($arFile);

Судя по тому, что левое изображение у меня без возврата ResizeImageGet, а только описание по GetByID, то это изображение скорее всего приходит из самого элемента инфоблока.
Итог:
Используется описание одного значения свойства как массив значений, вот в чем проблема.
В $arResult[«DISPLAY_PROPERTIES»][«PHOTOMISS»][«FILE_VALUE»] идет массив описания одного файла.
Соответственно $arResult[«DISPLAY_PROPERTIES»][«PHOTOMISS»][«FILE_VALUE»][«ID»] и надо использовать на вход функции ресайза.


Ещё статьи:

15.02.2024 История о жадности или как клиент свободное место искал на сервере
Случилась у меня одна история с клиентом, который свободное место искал на сервере, но на самом деле это больше о жадности, но в итоге всё равно пришл... ID: 466

08.11.2023 Хроники БУС упадка
На днях произошли очередные изменения в БУС битрикс. Полезный модуль bitrix.xscan включили в состав проактивной защиты и убрали из бесплатного сегмента... ID: 465

26.07.2023 Kwork.com закрыл доступ для резидентов РФ
Доступ к выставлению услуг теперь ограничен "К сожалению, вынуждены сообщить, что резиденты РФ в настоящее время не могут использовать сайт Kwork... ID: 463

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

01.12.2025 Задача алфавитный указатель товаров
Интересная задача для тренировки навыков.
Суть такая:
Алфавитный указатель товаров, но не стандартный где обычно сортировка разделов по названию происходит,... ID: 649

01.12.2025 Junior разработчик PHP 2025
Периодически бывает вижу вакансии для джунов, и немного прозреваю от того что я вижу.
Обязанности джуна Junior разработчик PHP ID: 648

29.11.2025 Обзор на маркетплейс модулей города по IP адресу
Неделю назад повёлся на предложение клиента пойти вариантом платного модуля для замены модуля выбора города, хотя изначально сказал, что там ловить нечего.... ID: 647

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

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