В очередной раз столкнулся с с проблемой, которую поймут многие.
В компоненте 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'] ); } } |
Как правило детальная картинка товара создается специально большего размера чем картинка анонса для каталога.
Я понимаю что есть принудительное создание картинки для анонса из детальной и прочая хрень, которую можно выключить при необходимости
ЕПТ ПОЧЕМУ БЫ НЕ СДЕЛАТЬ ЭТУ ФУНКЦИЮ РАБОТАЮЩЕЙ ТОЛЬКО ПО НАСТРОЙКЕ В КОМПОНЕНТЕ!!!
Что за нелюди!!! И это только мелкие примеры таких вот принудительно-добровольных функций.
Добавляйте свои примеры.