Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Изменение свойсты файла

00 голосов
3
Для уменьшения изображений РАЗДЕЛОВ инфоблока применяю CIBlock::ResizePicture.

Файлы изображений уменьшаются правильно, но данные о WIDTH и HEIGHT картинки остаются прежними...в результате чего в административной части, например, картинки разделов выводятся растянутыми.

Хочу использовать DB->Update для исправления этих свойств при ресайзе картинок, но не знаю в какой таблице находятся файлы.

Может есть более легкий способ?
спросил 22 Март, 14 от Koriom (100 баллов)

3 Ответы

00 голосов
CFile::ResizeImageGet().
Описание в комментариях.
ответил 17 Сен, 14 от smileplz (8,020 баллов)
00 голосов
Цитата
Max Pryazhevsky пишет:
CFile::ResizeImageGet(). Описание в комментариях.
В данном случае не то, что нужно.
У меня описанный вами метод прекрасно работает.
Код
AddEventHandler("iblock", "OnBeforeIBlockSectionAdd",    "CheckSectionCode");
AddEventHandler("iblock", "OnBeforeIBlockSectionUpdate","CheckSectionCode");

function CheckSectionCode(&$arFields)
{   
   $arFields['CODE'] = $code;
   if (is_array($arFields['DETAIL_PICTURE']))
   {
      $detailPicture = CIBlock::ResizePicture($arFields['DETAIL_PICTURE'], array('SCALE'=>'Y', 'WIDTH'=>200, 'HEIGHT'=>200, 'IGNORE_ERRORS'=>'Y', 'METHOD'=>'resample', 'COMPRESSION'=>100));
      $arFields['DETAIL_PICTURE']=$detailPicture;
      $arFields['PICTURE']=$detailPicture;
   }
   elseif(is_array($arFields['PICTURE']))
   {
      $detailPicture = CIBlock::ResizePicture($arFields['PICTURE'], array('SCALE'=>'Y', 'WIDTH'=>200, 'HEIGHT'=>200, 'IGNORE_ERRORS'=>'Y', 'METHOD'=>'resample', 'COMPRESSION'=>100));
      $arFields['DETAIL_PICTURE']=$detailPicture;
      $arFields['PICTURE']=$detailPicture;
   }
}
ответил 22 Янв, 15 от Almarea (3,760 баллов)
00 голосов
Спасибо! То, что нужно!
ответил 07 Май, 15 от Koriom (100 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
2 ответов
спросил 30 Апр, 14 от Kiriel (2,010 баллов)
0 голосов
4 ответов
спросил 04 Фев, 14 от Hellix (320 баллов)
0 голосов
1 ответ
спросил 23 Янв, 14 от Saitan (260 баллов)
0 голосов
4 ответов