Новости Joomla

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

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
Ресайз кратинок в ЖШ
« : 28.06.2016, 14:27:54 »
Не раз приходилось пользоваться адоном JomShopping_addon_resize_product_picture.
file.jpg, file.jpeg, file.png, file.gif обрабатывает отлично.
Но он не обрабатывал файлы с расширением file.JPG, file.JPEG, file.PNG, file.GIF выдавая ошибки на таких файлах.
Ведь далеко не все менеджеры заливающие товар знают/спрашивают правила формирования имени image_файлов.
Раньше приходилось эти файлы отыскивать и руками ресайзить или изменять расширение(убирать капс, что приводило к необходимости править и БД), или ресайзить через сторонние программы.
Сегодня столкнувшись с очередной такой задачей решил починить работу адона внеся правки в \components\com_jshopping\lib\image.lib.php добавив ($ext=="JPG"), ($ext=="JPEG"), ($ext=="PNG"), ($ext=="GIF")
После чего адон успешно обработал 18 000 файлов.

Исправленный код \components\com_jshopping\lib\image.lib.php под спойлером
Спойлер
[свернуть]

Надеюсь Виктор, Вы внесёте эти правки в один из будущих релизов JoomShopping
« Последнее редактирование: 28.06.2016, 19:59:37 от ViktorMah »
*

victorantoniak

  • Moderator
  • 1572
  • 185 / 2
  • JoomShopping Team
Ресайз кратинок в ЖШ
« Ответ #1 : 28.06.2016, 15:38:24 »
 не понял где ошибка
*

Biss

  • Давно я тут
  • 994
  • 101 / 0
Ресайз кратинок в ЖШ
« Ответ #2 : 28.06.2016, 15:48:44 »
Цитировать
Надеюсь Виктор, Вы внесёте эти правки в один из будущих релизов JoomShopping
это не ошибка а доработка по всей видимости, я так понял.
*

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
Ресайз кратинок в ЖШ
« Ответ #3 : 28.06.2016, 17:07:19 »
не понял где ошибка
В файле \components\com_jshopping\lib\image.lib.php не поддерживаются расширения file.JPG, file.JPEG, file.PNG, file.GIF (большие буквы)
А некоторые менеджеры практикуют заливать картинки с именем zte.JPG
В результате такой файл не будет обработан JomShopping_addon_resize_product_picture

Под спойлером код исправленного файла
« Последнее редактирование: 28.06.2016, 17:15:33 от ViktorMah »
*

victorantoniak

  • Moderator
  • 1572
  • 185 / 2
  • JoomShopping Team
Re: Ресайз кратинок в ЖШ
« Ответ #4 : 28.06.2016, 18:41:28 »
Возможно проблема в чем то другом.

$ext = strtolower($ext);

        if ( ($ext=="jpg") or ($ext=="jpeg") ){
            $si=imagecreatefromjpeg($image);
        }elseif ($ext=="gif"){
            $si=imagecreatefromgif($image);
        }elseif ($ext=="png"){
            $si=imagecreatefrompng($image);
        }else{
            return 0;
        }

$ext - всегда будет только строчная (нет смысла в ($ext=="JPG"), ($ext=="JPEG"), ($ext=="PNG"), ($ext=="GIF"))
*

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
Re: Ресайз кратинок в ЖШ
« Ответ #5 : 28.06.2016, 19:48:09 »
Возможно проблема в чем то другом.

$ext - всегда будет только строчная (нет смысла в ($ext=="JPG"), ($ext=="JPEG"), ($ext=="PNG"), ($ext=="GIF"))

В таком виде разумеется смысла нет, ведь это переменные вырванные мною из кусков кода.

А вот в таком виде смысл вполне очевиден и работоспособен:
Код: php
if ( ($ext=="jpg") or ($ext=="JPG") or ($ext=="jpeg") or ($ext=="JPEG") ){
            $si=imagecreatefromjpeg($image);
        }elseif (($ext=="gif") or ($ext=="GIF")){
            $si=imagecreatefromgif($image);
        }elseif (($ext=="png") or ($ext=="PNG")){
            $si=imagecreatefrompng($image);
        }else{
            return 0;
        }
 
        if (!$si) return 0;  

и проблема уже решена = Код под спойлером.
« Последнее редактирование: 28.06.2016, 19:53:27 от ViktorMah »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться