- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/comp_pricetools.php
- Класс: CIBlockPriceTools
- Вызов: CIBlockPriceTools::getDoublePicturesForItem
static function getDoublePicturesForItem(&$item, $propertyCode, $encode = true)
{
$encode = ($encode === true);
$result = array(
'PICT' => false,
'SECOND_PICT' => false
);
if (!empty($item) && is_array($item))
{
if (!empty($item['PREVIEW_PICTURE']))
{
if (!is_array($item['PREVIEW_PICTURE']))
$item['PREVIEW_PICTURE'] = CFile::GetFileArray($item['PREVIEW_PICTURE']);
if (isset($item['PREVIEW_PICTURE']['ID']))
{
$result['PICT'] = array(
'ID' => (int)$item['PREVIEW_PICTURE']['ID'],
'SRC' => IblockComponentTools::getImageSrc($item['PREVIEW_PICTURE'], $encode),
'WIDTH' => (int)$item['PREVIEW_PICTURE']['WIDTH'],
'HEIGHT' => (int)$item['PREVIEW_PICTURE']['HEIGHT']
);
}
}
if (!empty($item['DETAIL_PICTURE']))
{
$keyPict = (empty($result['PICT']) ? 'PICT' : 'SECOND_PICT');
if (!is_array($item['DETAIL_PICTURE']))
$item['DETAIL_PICTURE'] = CFile::GetFileArray($item['DETAIL_PICTURE']);
if (isset($item['DETAIL_PICTURE']['ID']))
{
$result[$keyPict] = array(
'ID' => (int)$item['DETAIL_PICTURE']['ID'],
'SRC' => IblockComponentTools::getImageSrc($item['DETAIL_PICTURE'], $encode),
'WIDTH' => (int)$item['DETAIL_PICTURE']['WIDTH'],
'HEIGHT' => (int)$item['DETAIL_PICTURE']['HEIGHT']
);
}
}
if (empty($result['SECOND_PICT']))
{
if (
'' != $propertyCode &&
isset($item['PROPERTIES'][$propertyCode]) &&
'F' == $item['PROPERTIES'][$propertyCode]['PROPERTY_TYPE']
)
{
if (
isset($item['DISPLAY_PROPERTIES'][$propertyCode]['FILE_VALUE']) &&
!empty($item['DISPLAY_PROPERTIES'][$propertyCode]['FILE_VALUE'])
)
{
$fileValues = (
isset($item['DISPLAY_PROPERTIES'][$propertyCode]['FILE_VALUE']['ID']) ?
array(0 => $item['DISPLAY_PROPERTIES'][$propertyCode]['FILE_VALUE']) :
$item['DISPLAY_PROPERTIES'][$propertyCode]['FILE_VALUE']
);
foreach ($fileValues as $oneFileValue)
{
$keyPict = (empty($result['PICT']) ? 'PICT' : 'SECOND_PICT');
$result[$keyPict] = array(
'ID' => (int)$oneFileValue['ID'],
'SRC' => IblockComponentTools::getImageSrc($oneFileValue, $encode),
'WIDTH' => (int)$oneFileValue['WIDTH'],
'HEIGHT' => (int)$oneFileValue['HEIGHT']
);
if ('SECOND_PICT' == $keyPict)
break;
}
if (isset($oneFileValue))
unset($oneFileValue);
}
else
{
$propValues = $item['PROPERTIES'][$propertyCode]['VALUE'];
if (!is_array($propValues))
$propValues = array($propValues);
foreach ($propValues as $oneValue)
{
$oneFileValue = CFile::GetFileArray($oneValue);
if (isset($oneFileValue['ID']))
{
$keyPict = (empty($result['PICT']) ? 'PICT' : 'SECOND_PICT');
$result[$keyPict] = array(
'ID' => (int)$oneFileValue['ID'],
'SRC' => IblockComponentTools::getImageSrc($oneFileValue, $encode),
'WIDTH' => (int)$oneFileValue['WIDTH'],
'HEIGHT' => (int)$oneFileValue['HEIGHT']
);
if ('SECOND_PICT' == $keyPict)
break;
}
}
if (isset($oneValue))
unset($oneValue);
}
}
}
}
return $result;
}