Если еще актуально по импорту изображений, то доработка стандартного импорта примерно так:
<?php
jimport('joomla.filesystem.folder');
define( 'JPATH_COMPONENT_SITE', JPATH_BASE."/components/com_jshopping" );
require_once(JPATH_COMPONENT_SITE."/lib/image.lib.php");
function uploadImages($product_id, $name_image){
$jshopConfig = JSFactory::getConfig();
$dispatcher = JDispatcher::getInstance();
$app = JFactory::getApplication();
$name_thumb = 'thumb_'.$name_image;
$name_full = 'full_'.$name_image;
@chmod($jshopConfig->image_product_path."/".$name_image, 0777);
$path_image = $jshopConfig->image_product_path."/".$name_image;
$path_thumb = $jshopConfig->image_product_path."/".$name_thumb;
$path_full = $jshopConfig->image_product_path."/".$name_full;
rename($path_image, $path_full);
if ($jshopConfig->image_product_original_width || $jshopConfig->image_product_original_height){
if (!ImageLib::resizeImageMagic($path_full, $jshopConfig->image_product_original_width, $jshopConfig->image_product_original_height, $jshopConfig->image_cut, $jshopConfig->image_fill, $path_full, $jshopConfig->image_quality, $jshopConfig->image_fill_color, $jshopConfig->image_interlace)){
JError::raiseWarning("",_JSHOP_ERROR_CREATE_THUMBAIL);
saveToLog("error.log", "SaveProduct - Error create thumbail");
$error = 1;
}
}
$error = 0;
$product_width_image = $jshopConfig->image_product_width;
$product_height_image = $jshopConfig->image_product_height;
if ($product_width_image || $product_height_image){
if (!ImageLib::resizeImageMagic($path_full, $product_width_image, $product_height_image, $jshopConfig->image_cut, $jshopConfig->image_fill, $path_thumb, $jshopConfig->image_quality, $jshopConfig->image_fill_color, $jshopConfig->image_interlace)){
JError::raiseWarning("",_JSHOP_ERROR_CREATE_THUMBAIL);
saveToLog("error.log", "SaveProduct - Error create thumbail");
$error = 1;
}
@chmod($path_thumb, 0777);
}
$product_full_width_image = $jshopConfig->image_product_full_width;
$product_full_height_image = $jshopConfig->image_product_full_height;
if ($product_full_width_image || $product_full_height_image){
if (!ImageLib::resizeImageMagic($path_full, $product_full_width_image, $product_full_height_image, $jshopConfig->image_cut, $jshopConfig->image_fill, $path_image, $jshopConfig->image_quality, $jshopConfig->image_fill_color, $jshopConfig->image_interlace)){
JError::raiseWarning("",_JSHOP_ERROR_CREATE_THUMBAIL);
$error = 1;
}
@chmod($path_image, 0777);
}
if (!$error){
$image = JSFactory::getTable('image', 'jshop');
$image->set("image_id", 0);
$image->set("product_id", $product_id);
$image->set("image_name", $name_image);
$image->set("name", "");
$image->set("ordering", $image->getNextOrder("product_id='".intval($product_id)."'"));
$image->store();
}
}
function save(){
...
// Добавить цикл, если картинок несколько
$image_src = 'Путь к картинке';
$info = new SplFileInfo($image_src);
$image_dest = md5(uniqid()). "." . $info->getExtension(); // переименование картинки, если не нужно, то $image_dest = $image_src;
if (file_exists($image_src) && copy($image_src, $jshopConfig->image_product_path."/".$image_dest)){
$this->uploadImages($product_id, $image_dest);
$product->image = $image_dest;
$product->store();
}
...
}