Thumb3x - Документация
Thumb3x: Современная обработка изображений для MODX 3
Этот компонент был написан, чтобы заполнить пробел в экосистеме MODX 3, где практически отсутствуют современные и надежные инструменты для работы с изображениями. Большинство существующих решений не обновлялись более 10 лет и не используют преимущества новой версии системы.
Ключевые возможности
-
Современные форматы: Конвертация в WebP и AVIF "на лету".
-
Продвинутый движок: В основе лежит высокопроизводительная библиотека Glide 3.0.1.
-
Интеграция с MODX 3: Полная поддержка "Источников файлов".
-
Гибкая обработка: Фильтры, эффекты, водяные знаки и точное позиционирование.
-
Поддержка Fenom: Удобный вызов сниппета с передачей параметров в виде массивов.
-
Управление кэшем: Ведение лога сгенерированных файлов в базе данных с удобной таблицей в админке.
Стандартный вызов MODX
<img src="[[!Thumb3x? &input=`path/to/image.jpg` &options=`w=300&h=200`]]" alt="">
Вызов через Fenom
{'!Thumb3x' | snippet : [
'input' => 'path/to/image.jpg',
'options' => [
'w' => 300,
'h' => 200
]
]}
Основные параметры сниппета
warning Важно: Любые параметры (
q,fmи т.д.), указанные внутри строки&options, всегда имеют наивысший приоритет.
Справочник по параметрам обработки (&options)
Официальная документация Glide
Компонент Thumb3x использует библиотеку Glide для всех операций с изображениями. Это означает, что вы можете использовать любые параметры, которые поддерживает сама библиотека.
Самую полную и актуальную информацию по всем возможным параметрам вы всегда можете найти на официальном сайте: https://glide.thephpleague.com/
Размеры и ориентация
Коррекция и эффекты
Фон и рамка
Водяные знаки
Выходной формат
Развернутые примеры вызова
Пример 1: Наложение водяного знака (стандартный вызов MODX)
Задача: Наложить logo.png в правый нижний угол с отступом и полупрозрачностью.
<img src="[[!Thumb3x?
&input=`portfolio/image-01.jpg`
&watermark=`assets/watermark/logo.png`
&options=`w=1200&mark=logo.png&markpos=bottom-right&markpad=30&markalpha=50`
]]" alt="Портфолио с водяным знаком">
Пример 2: Вызов через Fenom
Задача: Сделать то же самое, используя более читаемый синтаксис Fenom с передачей параметров в виде массива.
{* Определяем параметры для Glide в виде массива *}
{var $params = [
'w' => 1200,
'h' => 800,
'mark' => 'logo.png',
'markpos' => 'bottom-right',
'markpad' => 20,
'markalpha' => 60
]}
{* Вызываем сниппет *}
<img src="{'!Thumb3x' | snippet : [
'input' => 'portfolio/image-01.jpg',
'watermark' => 'assets/images/logo.png',
'options' => $params
]}" alt="Изображение с водяным знаком">
Пояснение: Главное преимущество Fenom здесь — возможность собрать все параметры обработки в аккуратный массив $params, что делает код шаблона намного чище и удобнее для чтения и редактирования.