MODX. PhpThumbOn

phpThumbOn это улучшеный аналог компонента phpThumbOf, созданный для автоматического ресайза изображений под нужный размер. Для ресайза он использует популярную библиотеку phpThumb, у которой значительно больше возможностей, чем описано в документациях к компоненту. Возможности библиотеки phpThumb.

Документация сниппета phpThumbOn

Файл можно выводить вызывая как сниппет:

Fenom
Теги MODX
{'phpthumbon' | snippet : [
                            'input' => $img,
                            'options' => '&w=400&h=300&f=jpg',
                            ]
                        }
[[!phpthumbon? 
        &input=`[[+img]]` 
        &options=`&w=400&h=300&f=jpg`
]]

или использовать, как модификатор:

Fenom
Теги MODX
{$img | phpthumbon : 'w=200&h=200&zc=1'}
[[+image:phpthumbon=`w=200&h=200&zc=1`]]

Какие параметры можно использовать и что они обозначают — смотрите в статье посвященной phpThumb

Параметр Описание Значение
input Путь к картинке которую нужно обработать

Возможные значения
Строка

 

Значение по умолчанию
(пусто)

 

Примечание
Благодаря этому параметру сниппет может работать как модификатор

options Параметры для класса phpThumb

Возможные значения
Произвольная строка с параметрами отделенными друг от друга символом & (амперсанд), а значение параметра определяется после символа = (равенство)

 

Значение по умолчанию
q=96&src={assets_path}components/phpthumbon/noimage.jpg

 

Примечание
Значения по умолчанию q и src можно переопределить в системных настройках при помощи параметров phpthumbon.noimage и phpthumbon.quality

Системные настройки

Параметр Описание Значение
phpthumbon.images_dir Папка, которая будет вырезаться из пути в кеш-директории

Возможные значения
Имя папки

 

Значение по умолчанию
images

 

Примечание
Относительно директории assets

phpthumbon.quality Качество картинки по умолчанию

Возможные значения
Целое число больше 0

 

Значение по умолчанию
96

 

Примечание
Если не задано качество картинки в параметрах при вызове сниппета, то будет использоваться это значение

phpthumbon.cache_dir Имя папки с кешем

Возможные значения
Имя папки

 

Значение по умолчанию
cache_image

 

Примечание
Относительно папки assets

phpthumbon.ext Если на сжатие приходит картинка в неизвестном формате, то будет использоваться этот тип

Возможные значения
Расширение имени файла

 

Значение по умолчанию
jpeg

 

Примечание
Если на сжатие приходит картинка в неизвестном формате, то будет использоваться этот тип

phpthumbon.noimage Путь к картинки с изображением «картинка не существует»

Возможные значения
Путь к файлу

 

Значение по умолчанию
{assets_path}components/phpthumbon/noimage.jpg

 

Примечание
Если картинка указанная в input окажется не доступной или вообще этот параметр пуст, то на обработку поступит картинка указанная в этом параметре

phpthumbon.queue Активация поддержки очередей

Возможные значения
0, 1, 2

 

Значение по умолчанию
0

 

Примечание
0 — не использовать очереди; 1 — использовать очередь и не сжимать noimage; 2 — использовать очередь и сжимать noimage под нужный размер

phpthumbon.queue_classpath Путь к файлу с классом QueueThumb

Возможные значения
0, 1, 2

 

Значение по умолчанию
{core_path}/components/phpthumbon/queue/QueueThumb.class.php

 

Примечание
В указанном файле должен располагаться класс QueueThumb с публичным статичным методом add(phpThumbOn $ThumbOn, modX $modx). Класс по умолчанию не использует очередей в прямом смысле слова и лишь сохраняет данные в таблицу modx_thumb_images для последующей обработки через процессор из крона.

phpthumbon.error_mode Правила обработки ошибочных картинок

Возможные значения
1, 2

 

Значение по умолчанию
1

 

Примечание
1 (по умолчанию) — сжатие noimage с заданными параметрами; 2 — вывод оригинальной картинки без обработки

phpthumbon.noimage_cache Папка с закешированными noimage файлами

Возможные значения
полный путь к любой папке

 

Значение по умолчанию
{assets_path}components/phpthumbon/cache/

 

Примечание
Путь к папке в которой уже хранятся noimage нужных размеров

phpthumbon.total_queue Число обрабатываемых заданий из очереди за 1 раз

Возможные значения
от 1 до 10

 

Значение по умолчанию
1

 

Примечание
Не более 10. В случае отсутствия значения у этого параметра устанавливается значение по умолчанию — 1

phpthumbon.make_cachename Сниппет который может подменить дефолтные правила формирования кеш имен картинок

Возможные значения
Любое имя существующего сниппета в системе

 

Значение по умолчанию
(пусто)

 

Примечание
Сниппет должен вернуть сериализованный массив со следующими ключами:

  • _cacheFileName (имя файла с полным адресом относительно корня сервера)
  • _cacheSuffix (суффикс в имени кеш файла)
  • _globThumb (шаблон поиска других превьюх этого же файла)