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

Изображения

00 голосов
2
Подскажите, возможно ли, чтобы при загрузке дополнительного изображения создавалась ее уменьшенная копия. Хранение изображений реализовано стандартным методом(MORE_PHOTO). Как можно реализовать постобработку загруженных изображений???
спросил 02 Апр, 14 от Sozide (180 баллов)

2 Ответы

00 голосов
Присоединяюсь к вопросу :!:
ответил 15 Окт, 14 от Halbane (100 баллов)
00 голосов
Я в init.php писал обработчик (тут подсмотрел реализацию)
Код
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler"); 

function OnAfterIBlockElementAddHandler($arFields) 
{
   if ($arFields['IBLOCK_ID'] == 42) 
   { 
      $size = array("width" => 300, "height" => 300); 
      if ($arFields[DETAIL_PICTURE] > 0){
         CAllFile::ResizeImage($arFields[DETAIL_PICTURE], $size, BX_RESIZE_IMAGE_PROPORTIONAL); 
      }
      $size = array("width" => 120, "height" => 150); 
      if ($arFields[PREVIEW_PICTURE] > 0){
         CAllFile::ResizeImage($arFields[PREVIEW_PICTURE], $size, BX_RESIZE_IMAGE_PROPORTIONAL); 
      }

      $pv = "PROPERTY_VALUES"; 
           $pID = 78;      // ID свойства "DOP_FOTO" = 78        
           $size = array("width" => 300, "height" => 300);        
           if (count($arFields[$pv][$pID])>0) 
            { 
                   foreach($arFields[$pv][$pID] as $k => $photo) 
                   { 
                       if (strlen($photo['name'])>0 && !$photo['error']) 
                       { 
                            CAllFile::ResizeImage($arFields[$pv][$pID][$k], $size); 
            } 
         } 
      } 
   }
}

Загрузка у меня идёт через добавление элемента инфоблока, потому обрабатываю и две основные картинки.
Целесообразно написать такой же для OnBeforeIBlockElementUpdate (обновления элемента).
ответил 15 Фев, 15 от Veide (320 баллов)

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

0 голосов
1 ответ
0 голосов
2 ответов
спросил 07 Март, 14 от junki (100 баллов)
0 голосов
1 ответ
спросил 01 Янв, 14 от LittleBoy (100 баллов)
0 голосов
4 ответов
спросил 30 Дек, 13 от joy (160 баллов)
0 голосов
4 ответов