Где можно поменять загрузку изображений?

#
Где можно поменять загрузку изображений?
Мне требуется изменить стандартный модуль сохранения изображений. Если более подробно, то необходимо перед сохранением изображения производить с ним некоторые манипуляции и сохранять оригинальное и модифицированное. Вопрос: Где лежит php файл в котором прописана логика работы сохранения изображений для товара?
Модератор
#
Re: Где можно поменять загрузку изображений?
Работа с изображениями осуществляется через одного из наследников Core_Image, чаще всего это Core_Image_Gd
что использовать указывается в конфигурационном файле https://www.hostcms.ru/documentation/modules/core/images/

При загрузке изображений в центре администрирования, работа с ними ведется в контроллерах редактирования, например,Informationsystem_Item_Controller_Edit для редактирование информационного элемента.

Загрузка файла в центре администрирования осуществляется через Core_File::adminUpload(), в который передается массив опций. В контроллере редактирования есть событие (хук), например
Core_Event::notify(get_class($this) . '.onAfterRedeclaredApplyObjectProperty', $this, array($this->_Admin_Form_Controller));

в этом событии через getObject() вы можете получить редактируемый информационный элемент и далее работать с загруженным изображением.

Напоминаю, что напрямую править файлы модулей нельзя, используйте события для внесения своей логики.
#
Re: Где можно поменять загрузку изображений?
class Shop_Item_Image_Modify
{
   static public function onAfterCreate($object, $args)
   {
      $file_small_path = $object->getSmallFilePath();
      $file_large_path = $object->getLargeFilePath();    
    /*Какая-то логика с загруженными файлами изображения*/
   }
}


Правильно ли написан код для перехвата события создания товара в магазине? Обязательно размещать файл класса именно в этой директории modules/shop/item/image_modify.php? И вопрос про хук - я так понимаю этот хук для перехвата только создания товара, А что делать с апдейтом?

Вопрос, после модификации изображения, могу ли я его сохранить стандартными средствами php(например, после модификации имеется экземпляр класса GD) или нужно использовать какие-то методы HostCMS? Например
$image = imagecreatefromjpeg($src);


Могу ли я сохранить изображение вот так
imagejpeg($image, "Путь к файлу");


Если в инстансах Core_Image_Imagick и Core_Image_GD не реализован нужный мне функционал, могу ли я использовать для его реализации инстансы Imagick и GD чистого php в событии?
Модератор
#
Re: Где можно поменять загрузку изображений?
Ответ направлен вам на аналогичный запрос в поддержке.
Авторизация