Новости Joomla

Process Forge — фреймворк для создания AI-процессов.

Process Forge — фреймворк для создания AI-процессов.

На новогодних каникулах 2026 в одном из чатов Joomla-сообщества коллега по цеху поделился промптом для ИИ-агента и результатом этого промпта. За неделю до этого он впервые попробовал Gemini CLI. Я до этого ИИ пользовался только в веб версиях и в целом меня это устраивало. Увидев простыню текста, запрос в CLI и простыню ответа первое, что меня охватило: "Я НЕ ХОЧУ вот это всё изучать! Опять что-то новое, надоело...".

Потом были стадии проб и ошибок, попыток использовать готовые пакеты community skills с гитхаба с ролевым внушением "ты супер-пупер мега-бэкенд-Joomla разработчик с 40-летним опытом, сделай мне красиво". Где-то в середине этого полугодия я стал формализовать свои процессы (а это не только разработка, но и SEO, аналитика, бизнес-аналитика, проработка и выстраивание процессов и т.д., но в итоге это, как правило, или связано с или ведёт к сайту на Joomla). Формализация привела к моему пониманию некоторых базисов, которые общие для всех процессов. Об этом чуть ниже.

Теперь я хочу представить на суд уважаемой публике свои наработки по фреймворку для создания формализованных процессов работы для ИИ-агентов - Process Forge.

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

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
Обработка изображений товара JoomShopping при редактировании: одинаковые пропорции, конвертация в один формат, удаление прозрачности, именование файлов. Используется библиотека Intervention Image.
Скачать плагин
Текущая версия: 2.0.1. от 28.03.2026
Совместимость: Joomla 6.0.3. JoomShopping 5.9.0.
Демо-видео
Видео про Joomla 3, но смысл тот же и в Joomla 6.

Зачем нужен плагин?
Плагин позволяет при редактировании товара интернет-магазина Joomla JoomShopping изменять размеры изображений, приводить их к одинаковым пропорциям, убирать прозрачность и сохранять все изображения в одном формате, например в WEBP.
Возможности плагина
Настройки конвертации изображений
Для работы плагина используется известная PHP библиотека обработки изображений Intervention Image. Она позволяет сохранять все изображения товаров интернет-магазина JoomShopping в одном формате (например, в WEBP).
Плагин использует настройки размеров изображений JoomShopping: JoomShopping - Настройки - Изображения. Также используется настройка качества сохраняемых изображений. Настройки метода изменения размера и цвета заливки игнорируются. По умолчанию цвет заливки - белый.
Делать изображения квадратными?
Если да, то изображения будут приведены к квадратным пропорциям исходя из наибольшей стороны изображения. Будет обрезан лишний пустой фон, добавятся необходимые поля до квадратной пропорции, заливка фона белым цветом. Если нет, то размеры изображений будут изменены согласно настройкам JoomShopping. Лишние области изображения отрезаются. Если указаны значения и высоты и ширины - большая сторона будет изменена до указанной в настройках, меньшая сторона будет изменена пропорционально. Если указана только одно значение - высоты или ширины - вторая сторона будет изменена пропорционально. Если высота и ширина в настройках равны 0 - изображение просто будет сохранено в указанном формате без изменения размера.
Выходной формат файла
Плагин может сохранять изображения в форматах GIF, PNG, JPG, WEBP, AVIF.
Переименовывать файлы изображений?
Если включено, то название файла изображения будет изменено на название товара по правилам формирования алиасов в Joomla: пробелы заменены на дефисы. Если изображений несколько, то к названию товара будет добавлен числовой индекс. Например, товар называется "Телефон Panasonic", а файлы изображений будет называться "telefon-panasonic", "telefon-panasonic-1", "telefon-panasonic-2" и т.д.

#Changelog
Спойлер
[свернуть]
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
Хорошо бы если перед сохранением, плагин прогонял через сервис https://squoosh.app/
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
Это может сказаться на производительности сайта и контент-менеджеров. Представьте, при каждом сохранении товара будет дёргаться сторонний сервис, который может отвалиться или зависнуть...
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
Реализовать как опцию. Это гугловский сервис, очень мало вероятно, что он отвалится или еще чего.
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
В свете происходящих в мире событий может отвалиться что угодно и у кого угодно. Возьму на заметку.
*

mbbvlad

  • Новичок
  • 1
  • 0 / 0
Из за чего может быть ошибка
Произошла ошибка
0 ImageMagick module not available with this PHP installation.

в php.ini строка  extension=imagick.so  добавлена
плагин установился без ошибок. Стутус включен.
В настройках изображения joomshopping  надпись присутствует
"Обработка изображений при сохранении товара ведётся плагином JShoppingadmin - WT On fly image handler. При обработке учитываются настройки размера изображений и качества обработанных изображений."

Версия Joomla 3.10.5 JoomShopping 4.18.5 php 7.2

З.Ы.
проблема ушла при установке на сайт хостера на локальном веб сервере работать не хочет
« Последнее редактирование: 16.10.2023, 10:39:48 от mbbvlad »
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
походу версия пыха не поддерживается
*

ProtectYourSite

  • Живу я здесь
  • 2384
  • 141 / 4
  • Безопасность вебсайтов
https://github.com/spatie/image-optimizer можно взять на заметку, если хочется оптимизации картинок и не зависеть от сторонних сервисов
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
Из за чего может быть ошибка
Произошла ошибка
0 ImageMagick module not available with this PHP installation.

в php.ini строка  extension=imagick.so  добавлена
плагин установился без ошибок. Стутус включен.
В настройках изображения joomshopping  надпись присутствует
"Обработка изображений при сохранении товара ведётся плагином JShoppingadmin - WT On fly image handler. При обработке учитываются настройки размера изображений и качества обработанных изображений."

Версия Joomla 3.10.5 JoomShopping 4.18.5 php 7.2

З.Ы.
проблема ушла при установке на сайт хостера на локальном веб сервере работать не хочет

В телеграм-чате уже отвечали на этот вопрос - не установлено расширение PHP Image magic на локальном сервере.
*

Uran_jf

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Здравствуйте, у меня плагин обрезает фон картинок так, что они теряют пропорции, которые указаны в настройках джш. Можно как-то отключить обрезание пустого фона?
« Последнее редактирование: 23.05.2024, 07:39:41 от Uran_jf »
*

Uran_jf

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Здравствуйте, у меня плагин обрезает фон картинок так, что они теряют пропорции, которые указаны в настройках джш. Можно как-то отключить обрезание пустого фона?

Если вдруг кому интересно, решил свой вопрос изменив метод handleImage, убрав строки, которые отвечают за обрезку фона:

function handleImage(string $path_full, array $options): void
{
    $widthFit  = $options['widthFit'];
    $heightFit = $options['heightFit'];

    $jversion = new Version();
    if (version_compare($jversion->getShortVersion(), '4.0', '<')) {
        // only for Joomla 3.x
        $jshopConfig = JSFactory::getConfig();
    } else {
        // Joomla 4
        $jshopConfig = \JSFactory::getConfig();
    }

    list($width, $height, $type, $attr) = getimagesize($path_full);
    $manager = JInterventionimage::getInstance(['driver' => 'imagick']);

    // https://github.com/Intervention/image/issues/551 Transparency on PNG issue
    $tmp_file = $manager->make($path_full);
    $img      = $manager->canvas($tmp_file->width(), $tmp_file->height(), '#ffffff');
    $img->insert($tmp_file);

    // Убираем обрезку лишнего фона
    // $img->trim('top-left', null, 20, 50);

    //Делаем изображения квадратными
    if ($this->params->get('square_image', 0) == 1)
    {
        $width  = $img->getWidth();
        $height = $img->getHeight();
        $ratio  = $width / $height;

        if ($ratio != 1)
        {
            if ($width > $height)
            {
                //http://image.intervention.io/api/resizeCanvas
                $new_height = $width;
                $img->resizeCanvas($width, $new_height, 'center', false, '#ffffff');
            }
            elseif ($height > $width)
            {
                $new_width = $height;
                $img->resizeCanvas($new_width, $height, 'center', false, '#ffffff');
            }

            if ($heightFit > $widthFit)
            {
                $widthFit = $heightFit;
            }
            elseif ($widthFit > $heightFit)
            {
                $heightFit = $widthFit;
            }
        }
    }

    // Если оба значения NULL - не меняем размер, переходим к сохранению
    if (!is_null($widthFit) || !is_null($heightFit))
    {
        // resize the image so that the largest side fits within the limit; the smaller
        // side will be scaled to maintain the original aspect ratio
        // https://image.intervention.io/v2/api/resize
        $img->resize($widthFit, $heightFit, function ($constraint) {
            $constraint->aspectRatio();
            $constraint->upsize();
        });
    }

    $img->save($options['savepath'] . '/' . $options['new_file_name'] . '.' . $options['new_file_format'], $options['image_quality'], $options['new_file_format']);
}
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
Это хак. Затрётся при следующем обновлении. При изменении пропорций учитывается фон вокруг основного изображения, насколько помню. И обрезка/дополнение идёт получается на основе контраста цветов.
*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
WT On fly image handler v.2.0.0 плагин обработки изображений JoomShopping 5+

Список изменений
- Поддержка Joomla 5. Плагин переписан на новую архитектуру расширений Joomla 4 / Joomla 5. Это означает, что он будет работать и в Joomla 6.
- Удалена поддержка Joomla 3. Окончательно удалена поддержка Joomla 3.
- Водяные знаки. Добавлена возможность наложения водяных знаков на изображения.
- JIntrevention Image 3.10+. Для работы плагина требуется библиотека JIntervention Image не ниже 3.10. PHP 8+.

Плагин бесплатный.

- Страница расширения (https://web-tolk.ru/dev/joomla-plugins/wt-on-fly-image-handler)
- GitHub расширения (https://github.com/sergeytolkachyov/WT-On-fly-image-handler-Joomla-JoomShopping-plugin)
- Библиотека JIntrevention Image (https://web-tolk.ru/dev/biblioteki/jintervention-image)

*

sergeytolkachyov

  • Глобальный модератор
  • 245
  • 21 / 0
  • @sergeytolkachyov https://web-tolk.ru
-- 28.03.2026 - v.2.0.1
- Исправление ошибок.
- Локализация сообщений плагина.
- Добавлена настройка прозрачности водяного знака
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Finder плагин умного поиска (товары, атрибуты, характеристики)

Автор sergeytolkachyov

Ответов: 1
Просмотров: 3004
Последний ответ 13.08.2026, 14:07:56
от sergeytolkachyov
WT Max bot - JoomShopping

Автор sergeytolkachyov

Ответов: 0
Просмотров: 190
Последний ответ 22.07.2026, 09:43:03
от sergeytolkachyov
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 3
Просмотров: 6728
Последний ответ 01.07.2026, 14:45:12
от sergeytolkachyov
WT JoomShopping Export YML

Автор sergeytolkachyov

Ответов: 0
Просмотров: 713
Последний ответ 01.07.2026, 14:40:29
от sergeytolkachyov
[JoomShopping 5] вывод товаров из дочерних категорий

Автор v42bis

Ответов: 16
Просмотров: 7232
Последний ответ 13.05.2026, 17:26:17
от sergeytolkachyov