TimThumb by TCSE 0.3 : кадрирование картинок


Модуль для кадрирования изображений в публикациях сайта. Сделан для DLE на основе TimThumb – PHP Image Resizer. Он позволяет ссылку на любое изображение, добавленное в шаблон сайта, перенарезать в новых пропорциях и размерах. Для этого модуль автоматически скачает исходное изображение и создаст его копию с заданными параметрами в папке engine/modules/mod_tcse/timthumb/cache/, которую можно поменять по своему вкусу.


Использование данного модуля наиболее актуально при создании AMP-версий публикаций сайта, так как картинки в amp-img должны обязательно иметь ширину и высоту. Без этих параметров они не будут обработаны Google.
<amp-img src="/resize?src={image-1}&w=480&h=240&a=c" width="480" height="240" layout="responsive" alt="..."></amp-img>

При использовании ссылки на картинку через строку /resize?src={image-1}&w=480&h=240&a=c мы создаем точный размер картинки именно с заданными параметрам для AMP изображений.

К примеру у вас есть оригинал картинки 1024х680px и для ускорения загрузки списка кратких новостей, при просмотра с мобильника, необходимо сгенерировать миниатюры в виде квадратов 360x360px. В этом случае будет достаточно в шаблоне краткой новости заменить вывод картинки с условной:
<img src="{image-1}" alt="">

на
<img src="/resize?src={image-1}&w=360&h=360&a=c" alt="">

В настройках PHP класса, отвечающего за генерацию скадрированных изображений, можно указать свой срок хранения кеша. По умолчанию картинка хранится двое суток. Кеш картинок очищается каждые 2 суток. Эти параметры находятся в engine/modules/mod_tcse/timthumb/timthumb.php.

FILE_CACHE_TIME_BETWEEN_CLEANS и FILE_CACHE_MAX_FILE_AGE:

на скриншоте показан параметр жизни кеша в 1 сутки. 86400/60/60/24=1

Установка:
1. Установить модуль через систему плагинов в DLE.

2. У engine/modules/mod_tcse/timthumb/cache, для создания миниатюр скадрированных изображений, необходимо установить права 775.

3. Открыть в корне сайта .htaccess и найти:
RewriteEngine On

Добавить ниже:
# TimThumb – PHP Image Resizer 
RewriteRule ^resize$ /engine/modules/mod_tcse/timthumb/timthumb.php [L]

4. При необходимости внести правки в engine/modules/mod_tcse/timthumb/timthumb-config.php:

Пояснение по переменным:
define('ALLOW_ALL_EXTERNAL_SITES', false);

  • Разрешить получение изображений с внешних веб-сайтов (только TRUE или FALSE)
    Если TRUE - будет обрабатывать картинки с любых сайтов, копирую их себе.
    Если FALSE - то внешние изображения будут извлекаться только из этих доменов и их поддоменов: flickr.com, staticflickr.com, picasa.com, img.youtube.com, upload.wikimedia.org, photobucket.com, imgur.com, imageshack.us, tinypic.com

define ('FILE_CACHE_TIME_BETWEEN_CLEANS', 86400);

  • Как часто очищается кеш (только число в миллисекундах)
    Параметр жизни кеша в 1 сутки.
    86400/60/60/24=1

define ('FILE_CACHE_MAX_FILE_AGE', 86400);

  • Сколько лет должно быть файлу для удаления из кеша (только число в миллисекундах)
    Параметр жизни кеша в 1 сутки.
    86400/60/60/24=1

5. В шаблонах краткой или полной новостей, соответственно shortstory.tpl и fullstory.tpl, для кадрирования добавить:
<img src="/resize?src={image-1}&w=775q=80&a=c" alt="">

где в параметре w=775q=80&a=c - w=775 это ширина картинки, q=80 качество сжатия, a=c центрирование изображения.

Еще пример:
<img src="/resize?src={image-1}&w=480&h=240&a=c" alt="">

где в параметре &w=480&h=240&a=c - w=480 это ширина картинки, h=240 высота картинки, a=c центрирование изображения. {image-1} - тег вывода первой картинки в теле публикации.

Готово!

Важно: модуль создает повышенную нагрузку на ваш хостинг. Если на сайте множество публикаций и одновременный просмотр страниц сайта большим количеством посетителей, то папка кеша с картинками быстро заполниться на 9998 файлов и далее будет висеть пока по лимиту не начнут удаляться старые изображения. В качестве возможного решения - уменьшение времени жизни кеша картинки.

Важно: эта версия с конфигом без админки.
timthumb-by-tcse-0_3-kadrirovanie-kartinok.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 13.1-14.x
Кодировка: utf-8
Автор: TCSE
Источник

Примечание от Oxigen:

Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.