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

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
Наверх