0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1091 Просмотров
*

max_max

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Всем привет. Делаю импорт товаров в JoomShopping через модуль - Simple Import UTF8 (2.9.1). Это тот же самый Simple Import, но без декодировки UTF-8. Данный импорт работает хорошо, хоть и требует доработки "под себя", чем я и занимаюсь в данный момент. Все, что необходимо, я почти доработал, так же, необходимо сделать импорт изображений. Тут я застрял. Делаю вот такой код:

Код
product->set("image", $row[10]);

И изображения загружаются хорошо, но только в общий список товаров. Но если открыть характеристики любого товара и перейти во вкладку "Фото", то там будет пусто. Оба изображения во вложении этой темы.

Я пробовал и этот код:

Код
$product->set($lang->get("image"), ($row[10]));

Но это дает ошибку при импорте.

Подскажите, пожалуйста, как импортировать изображения так, что бы эти изображения отображались как в общем списке товаров, так и во вкладке "Фото" ?

Покупать дополнительные модули к плагину JoomShopping мы не можем, так как очень низкий бюджет у клиента.
Спасибо.

*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Re: Импорт изображения JoomShopping
« Ответ #1 : 20.07.2021, 21:11:52 »
разработка будет дороже :)
по сути вам надо просто пропускать через функцию ресайза самого ЖШ.
либо потом запускайте руками ресайзер от разрабов ЖШ. он бесплатный.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

max_max

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Импорт изображения JoomShopping
« Ответ #2 : 21.07.2021, 07:30:00 »
Спасибо за ответ.

Цитировать
по сути вам надо просто пропускать через функцию ресайза самого ЖШ.
А можно поподробнее, пж :)
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Re: Импорт изображения JoomShopping
« Ответ #3 : 21.07.2021, 09:50:46 »
Спасибо за ответ.
А можно поподробнее, пж :)
в вашем случае проще скачать массовый ресайзер от разработчиков, и просто запускать его после импорта. можно в импорте автоматически запустить, можно руками после.
либо смотреть как сделано сохранение товара в админке там запускается ресайз.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

max_max

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Импорт изображения JoomShopping
« Ответ #4 : 21.07.2021, 10:44:51 »
Понял, спасибо. Позвольте небольшую наглость с моей стороны и задать еще один вопрос. Вот у меня есть категории товаров в JoomShopping, и я хочу, выводит их в виде списка-дерева. Я пробовал создавать пункт меню, и тип меню JoomShopping » Список категорий / Магазин. Все выводиться хорошо, НЕ НЕ в виде иерархии. Т.е. есть родительская категория, плюсуя по ней, открывается дочерняя - я хочу так. Скажите, если ли какой ни будь модуль бесплатный для этого дела. Во вложении скрин того, какое меню я хочу, основываясь на категориях товаров. Спасибо.
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Re: Импорт изображения JoomShopping
« Ответ #5 : 21.07.2021, 10:51:49 »
Понял, спасибо. Позвольте небольшую наглость с моей стороны и задать еще один вопрос. Вот у меня есть категории товаров в JoomShopping, и я хочу, выводит их в виде списка-дерева. Я пробовал создавать пункт меню, и тип меню JoomShopping » Список категорий / Магазин. Все выводиться хорошо, НЕ НЕ в виде иерархии. Т.е. есть родительская категория, плюсуя по ней, открывается дочерняя - я хочу так. Скажите, если ли какой ни будь модуль бесплатный для этого дела. Во вложении скрин того, какое меню я хочу, основываясь на категориях товаров. Спасибо.
Модуль категорий + товары + аккордеон

прочтите правила форума. 1 тема -  1 вопрос.
тут обсуждаются изображения.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

max_max

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Импорт изображения JoomShopping
« Ответ #6 : 21.07.2021, 11:04:57 »
Спасибо большое. Учту.
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Re: Импорт изображения JoomShopping
« Ответ #7 : 21.07.2021, 11:15:04 »
Спасибо большое. Учту.
также есть для быстрого создания меню. https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/addon-menu-builder.html?lang=en
вы и сами могли его сделать просто надо было делать структуру категорий.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ExJTMaster

  • Осваиваюсь на форуме
  • 11
  • 3 / 0
Re: Импорт изображения JoomShopping
« Ответ #8 : 20.09.2021, 17:31:36 »
Если еще актуально по импорту изображений, то доработка стандартного импорта примерно так:
Код
<?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();
    }
...

}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться