Документация для разработчиков
Темная тема

GetDoublePicturesForItem

array public static CIBlockPriceTools::getDoublePicturesForItem(
	array &$item,
	mixed $propertyCode,
	bool $encode = true
);

Метод возвращает массив с основным и вторым изображением элемента или торгового предложения. Метод статический.

Параметры вызова

Параметр Описание
$item Массив элемента или торгового предложения. Метод может заменить значения PREVIEW_PICTURE и DETAIL_PICTURE с идентификаторов файлов на массивы, которые возвращает CFile::GetFileArray.
$propertyCode Символьный код свойства типа Файл с дополнительными изображениями. Если код пустой, свойство не найдено или свойство не является файловым, метод использует только PREVIEW_PICTURE и DETAIL_PICTURE.
$encode Флаг кодирования адреса изображения при формировании значения SRC. По умолчанию равен true.

Возвращаемое значение

Метод возвращает массив с ключами PICT и SECOND_PICT. Каждый ключ содержит false или массив с описанием изображения:

  • ID — идентификатор файла;
  • SRC — путь к изображению;
  • WIDTH — ширина изображения;
  • HEIGHT — высота изображения.

Метод выбирает изображения в таком порядке: сначала PREVIEW_PICTURE, затем DETAIL_PICTURE, затем значения файлового свойства из DISPLAY_PROPERTIES[$propertyCode]['FILE_VALUE'] или PROPERTIES[$propertyCode]['VALUE'].

Если первое изображение найдено, оно попадает в PICT. Следующее найденное изображение попадает в SECOND_PICT. Если подходящего изображения нет, соответствующий ключ содержит false.

Примеры

Получение основного и второго изображения для элемента, подготовленного компонентом:

use Bitrix\Main\Loader;

Loader::includeModule('iblock');

$iblockId = 2; // ID инфоблока
$elementId = 29; // ID товара/элемента
$additionalPictureProperty = 'MORE_PHOTO';

$iterator = CIBlockElement::GetList(
    [],
    [
        'IBLOCK_ID' => $iblockId,
        'ID' => $elementId,
    ],
    false,
    false,
    [
        'ID',
        'IBLOCK_ID',
        'NAME',
        'PREVIEW_PICTURE',
        'DETAIL_PICTURE',
    ]
);

if ($element = $iterator->GetNextElement())
{
    $item = $element->GetFields();
    $item['PROPERTIES'] = $element->GetProperties();

    $pictures = CIBlockPriceTools::getDoublePicturesForItem(
        $item,
        $additionalPictureProperty
    );

    $item['PICT'] = $pictures['PICT'];
    $item['SECOND_PICT'] = $pictures['SECOND_PICT'];

    echo '<pre>';
    print_r([
        'ID' => $item['ID'],
        'NAME' => $item['NAME'],
        'PICT' => $item['PICT'],
        'SECOND_PICT' => $item['SECOND_PICT'],
    ]);
    echo '</pre>';
}
else
{
    echo 'Element not found';
}

В примере $arResult['ITEMS'] содержит элементы, которые уже подготовлены компонентом: в массиве элемента есть поля PREVIEW_PICTURE, DETAIL_PICTURE, PROPERTIES и, если свойство выводится компонентом, DISPLAY_PROPERTIES.



© «Битрикс», 2001-2026, «1С-Битрикс», 2026