Modx phpthumbof: phpThumbOf — phpThumbOf | MODX Docs – phpthumb — Школа MODX

PhpThumbOn

Параметр Описание Значение
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 (шаблон поиска других превьюх этого же файла)

[MODX] pThumb — ресайз изображений. Примеры использования.

После того как однажды перейти с phpThumbOf на rezImgCrop я в целом был доволен жизнью, но все таки последний сниппет хоть и был хорош, но в нем тожде были косяки.

Варианты вызова сниппета

  • [[*image:pthumb=`w=245&h=170&zc=1`]]
  • [[!pthumb? &input=`img/photo.jpg` &options=`w=245&h=170&zc=1`]]
  • {$_pls['tv.image'] | pthumb : 'w=245&h=170&zc=1'}

Тут можно найти варианты использования pThumb, а также тестирование степени сжатия, чтобы определить требования Google PageSpeed к компрессии изображений.

Примеры использования pThumb

Горизонтальные

Размер: 483.22 КБ
Ширина: 1280px
Высота: 783px

Вертикальные

Размер: 533.33 КБ
Ширина: 736px
Высота: 1100px

PNG с прозрачным фоном

Размер: 200.24 КБ
Ширина: 404px
Высота: 693px

Оригинал

Горизонтальные

Размер: 282.69 КБ
Ширина: 1280px
Высота: 783px

Вертикальные

Размер: 209.32 КБ
Ширина: 736px
Высота: 1100px

PNG с прозрачным фоном

Размер: 194.77 КБ
Ширина: 404px
Высота: 693px

[[*image:pthumb]]

Горизонтальные

Размер: 15.33 КБ
Ширина: 250px
Высота: 153px

Вертикальные

Размер: 25.88 КБ
Ширина: 250px
Высота: 374px

PNG с прозрачным фоном

Размер: 70.95 КБ
Ширина: 250px
Высота: 429px

[[*image:pthumb=`w=250`]]

Горизонтальные

Размер: 36.99 КБ
Ширина: 409px
Высота: 250px

Вертикальные

Размер: 12.41 КБ
Ширина: 167px
Высота: 250px

PNG с прозрачным фоном

Размер: 25 КБ
Ширина: 146px
Высота: 250px

[[*image:pthumb=`h=250`]]

Горизонтальные

Размер: 15.33 КБ
Ширина: 250px
Высота: 153px

Вертикальные

Размер: 12.41 КБ
Ширина: 167px
Высота: 250px

PNG с прозрачным фоном

Размер: 25 КБ
Ширина: 146px
Высота: 250px

[[*image:pthumb=`w=250&h=250`]]

Горизонтальные

Размер: 16.41 КБ
Ширина: 180px
Высота: 250px

Вертикальные

Размер: 13.62 КБ
Ширина: 180px
Высота: 250px

PNG с прозрачным фоном

Размер: 29.92 КБ
Ширина: 180px

Высота: 250px

[[*image:pthumb=`w=180&h=250&zc=1`]]

Горизонтальные

Размер: 22.99 КБ
Ширина: 250px
Высота: 250px

Вертикальные

Размер: 19.46 КБ
Ширина: 250px
Высота: 250px

PNG с прозрачным фоном

Размер: 39.04 КБ
Ширина: 250px
Высота: 250px

[[*image:pthumb=`w=250&zc=1`]]

Горизонтальные

Размер: 14.51 КБ
Ширина: 245px
Высота: 150px

Вертикальные

Размер: 10.06 КБ
Ширина: 150px
Высота: 224px

PNG с прозрачным фоном

Размер: 25 КБ
Ширина: 146px
Высота: 250px

[[*image:pthumb=`wp=150&hp=250&wl=250&hl=150`]]

Горизонтальные

Размер: 23.77 КБ
Ширина: 250px
Высота: 250px

Вертикальные

Размер: 17.89 КБ
Ширина: 250px
Высота: 250px

PNG с прозрачным фоном

Размер: 41.74 КБ
Ширина: 250px
Высота: 250px

[[*image:pthumb=`w=250&h=250&iar=1`]]

Горизонтальные

Размер: 32.04 КБ
Ширина: 409px
Высота: 250px

Вертикальные

Размер: 10.68 КБ
Ширина: 167px
Высота: 249px

PNG с прозрачным фоном

Размер: 28.34 КБ
Ширина: 146px
Высота: 250px

[[*image:pthumb=`h=250&fltr[]=wmt|webstool.ru|14|*|ffffff|/fonts/arial.ttf|40|5|33|50`]]

Тестирование степени сжатия изображения

Размер: 127.8 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835`]] (По-умолчанию идет q=75)

Тестирование степени сжатия изображения

Размер: 283.39 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=95`]]

Размер: 169.84 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=85`]]

Размер: 127.8 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=75`]]

Размер: 105.73 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=65`]]
(Оптимальная компрессия по мнению подслеповатого Google PageSpeed)

Размер: 90.72 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=55`]]

Размер: 79.55 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=45`]]

Размер: 67.66 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=35`]]

Размер: 53.76 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=25`]]

Размер: 37.55 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=15`]]

Размер: 16.48 КБ
Ширина: 835px
Высота: 511px

[[*image:pthumb=`w=835&q=5`]]

Настройки пакета

Оглавление

pThumb имеет следующие системные настройки:

#

Общие

НазваниеКлючОписание
Override Cache URLphpthumbof.cache_urlАбсолютный URL, который будет добавлен при создания изображений. Данная настройка особенно полезна если вы работаете с контекстами или поддоменами.
Check file modification timephpthumbof.check_mod_timeПроверяет время изменения файла исходного изображения и, при необходимости, обновляет кэшированную версию. Изменение значения этого параметра приведет к тому, что все кэшированные в данный момент изображения станут устаревшими.
Cache Cleaning Levelpthumb.clean_levelУказывает, что плагин кэша должен делать при событиях обновления сайта (очистки кэша сайта). Плагин обрабатывает все 3 кэша: phpThumbOf, pThumb и удаленных изображений. Возможные значения0 — Включен по умолчанию. Ничего не делать.
  • 1 — Отдельная чистка кэша, руководствуясь правилами системных настроек MODx phpthumb_cache_maxage, phpthumb_cache_maxfiles,
  • phpthumb_cache_maxsize. Найти их можно в Системные настройки > core > phpThumb. Изменение значения одной из этих настроек на 0, отключит очистку кэша для этого параметра.
  • 2 — Удалить все кэшированные изображения.
#

Настройки сниппета pThumb

С версии 2.1 добавлены настройки pThumb Cache. Они позволяют формировать более чистые, более семантические и SEO-дружественные URL-адреса миниатюр. Новая система кэширования сохраняет миниатюры в подкаталогах, которые отражают часть пути исходного изображения, и добавляет только 8-символьный хэш к именам файлов. Вы можете создать каталог, в который будут помещаться кэшированные изображения через настройки ниже:

НазваниеКлючОписание
Images Base Directory​pthumb.ptcache_images_basedirКаталог с вашими изображениями. По умолчанию это assets/, но если вы хотите изменить расположение ваших изображений, укажите папку в этой настройке. Этот каталог и любые другие над ним будут исключены из пути кеша. Любые подкаталоги под ним будут включены.
pThumb Cache Locationpthumb.ptcache_locationКаталог для хранения кэшированных изображений. Путь указывается относительно базового каталога MODx, который обычно является корнем вашего сайта. По умолчанию установлен путь assets/image-cache. Создавать каталоги вручную необязательно, pThumb создаст этот каталог сам, если он еще не существует и  если позволяют разрешения файловой системы.
Use pThumb Cachepthumb.use_ptcacheПосле того как вы изменили две вышеуказанные настройки, переключите эту настройку на значение «Да», чтобы применить новые настройки кэша.
#

Настройки сниппета phpThumbOf

Настройки ниже относются только к сниппету phpthumbof

НазваниеКлючОписание
Override Cache Pathphpthumbof.cache_pathВы можете указать здесь абсолютный путь, для переопределения пути кешированных изображений.

Post-fix Properties Hash to Name
phpthumbof.postfix_property_hashЕсли включить, будет добавлять хэш к названию файлов.
#

Настройки изображений

pThumb поставляется в комплекте с Resizer, легкой и современной альтернативой phpThumb. Resizer основан на Imagine и поддерживает расширения Gmagick, Imagick и GD. Для операций по изменению размера и кадрированию изображений он значительно быстрее, чем phpThumb. Плюс все опции ZC теперь работают с GD.

См. Документацию Resizer для более подробной информации о его требованиях и поддерживаемых опциях. Обратите внимание, что он не поддерживает ни один из фильтров phpThumb, но многие из этих вещей в настоящее время могут быть выполнены с помощью CSS.

НазваниеКлючОписание
Use Resizerphpthumbof.use_resizer
Глобальный параметр, для которого используется класс манипулирования изображениями. Установка значения «Нет» означает, что pThumb будет использовать встроенный в MODx класс phpThumb. По умолчанию: нет.
Global Default Optionspthumb.global_defaultsСтрока с параметрами для ресайза изображений с помощью класса Resizer. Например q=60&za=C.

Баганый modx vs junior или От чего phpthumbof и MIGX могут некорректно отрабатывать свой функционал?

В общем бьюсь как могу. Все началось с того что я решил добавить очередную порцию доп.полей на главный и единственный ресурс моего сайта. Ранее я уже добавил на него, большое кол-во полей при помощи MIGX и все работало прекрасно! Однако возникла такая ситуация:

На данном скрине показано отсутствие созданных при помощи MIGX полей. Куда же они подевались?


Здесь показано то, как должна выглядеть категория «8 — Ремонт Mac». Соответственно в категории «8 — Ремонт Mac» добавляются «Маки» вместо здешних «айпадов». Можно было бы подумать, что я с дуру перепутал категории или вовсе забыл их указать. Быть может запятая где то не стоит и поэтому массив не выводится… НО! Спустя пару часов страданий, и пыток, и выяснений где допущена ошибка, я таки натыкаюсь на такое дело в общем:

Далее я провел еще пару часов, пытаясь понять — как так? Создал чистые шаблон с ресурсом, связал их меж собой, добавил к новому шаблону мое многострадальное поле migx — в общем тут все сработало как надо.
Далее, понадеявшись что это какой то временный баг))) я решил добавить пару айтемов в раздел «Ремонт Mac». Собственно, кончилось это весьма плачевно. В результате, почему-то, баганул phpthumbof, при помощи которого я выводил картинки (они в формате png и без фона, разумеется). Вот, такие дела:

Нашел пару вариантов в интернете, насчет png: 1. Исправление конфигов phpthumbof — не сработало почему то. 2. Поворот на 1 градус + f=png — о, чудо! Сработало! Но как по мне, подход не верный. Надо думать в чем все таки трабл.

Прошу Вашей помощи, пожалуйста! Куда копать? Что править? С чем есть? Обе проблемы ставят меня в тупик(

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *