В очередной раз столкнулся с с проблемой, которую поймут многие.
В компоненте bitrix.catalog.section вывод товаров для каталога, при отсутствии у товара картинки анонса и наличии детальной картинки, срабатывает функция getDoublePicturesForItem() которая вызывается много где в том числе и классе ElementList. Так вот эта функция в принудительном порядке назначает существующую детальную картинку вместо картинки анонса если таковой нет.
Ну казалось бы кому-то это и нужно, а кому-то и нет!
Как правило детальная картинка товара создается специально большего размера чем картинка анонса для каталога.
Я понимаю что есть принудительное создание картинки для анонса из детальной и прочая хрень, которую можно выключить при необходимости
ЕПТ ПОЧЕМУ БЫ НЕ СДЕЛАТЬ ЭТУ ФУНКЦИЮ РАБОТАЮЩЕЙ ТОЛЬКО ПО НАСТРОЙКЕ В КОМПОНЕНТЕ!!!
Что за нелюди!!! И это только мелкие примеры таких вот принудительно-добровольных функций.
Добавляйте свои примеры.
В компоненте bitrix.catalog.section вывод товаров для каталога, при отсутствии у товара картинки анонса и наличии детальной картинки, срабатывает функция getDoublePicturesForItem() которая вызывается много где в том числе и классе ElementList. Так вот эта функция в принудительном порядке назначает существующую детальную картинку вместо картинки анонса если таковой нет.
| Код |
|---|
public 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' => Iblock\Component\Tools::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' => Iblock\Component\Tools::getImageSrc($item['DETAIL_PICTURE'], $encode),
'WIDTH' => (int)$item['DETAIL_PICTURE']['WIDTH'],
'HEIGHT' => (int)$item['DETAIL_PICTURE']['HEIGHT']
);
}
} |
Как правило детальная картинка товара создается специально большего размера чем картинка анонса для каталога.
Я понимаю что есть принудительное создание картинки для анонса из детальной и прочая хрень, которую можно выключить при необходимости
ЕПТ ПОЧЕМУ БЫ НЕ СДЕЛАТЬ ЭТУ ФУНКЦИЮ РАБОТАЮЩЕЙ ТОЛЬКО ПО НАСТРОЙКЕ В КОМПОНЕНТЕ!!!
Что за нелюди!!! И это только мелкие примеры таких вот принудительно-добровольных функций.
Добавляйте свои примеры.