Кадрирование картинок на сайте для DLE
Доработка плагина
http://www.binarymoon.co.uk/projects/timthumb/ для использования в шаблона DLE CMS. Кадрирование изображений в публикациях сайта. Репозиторий исходного скрипта
https://github.com/GabrielGil/TimThumbПринцип работы плагина:
Ссылку на любое изображение добавленное в шаблон сайта можно через данный плагин можно перенарезать в новых пропорциях и размерах.
Для этого скрипт автоматически скачает исходное изображение и создать его копию с заданными параметрами в папке
/engine/modules/mod_tcse/timthumb/cache/ (местоположение папки можно поменять по своему вкусу).
К примеру у вас есть оригинал картинки 1024х680px
и для ускорения загрузки списка кратких новостей при просмотра с мобильника необходимо сгенерировать миниатюры в виде квадратов 360x360px
в этом случае будет достаточно в шаблоне краткой новости заменить вывод картинки с условной
<img src="{image-1}" alt="">
на
<img src="/resize?src={image-1}&w=360&h=360&a=c" alt="">
В настройках php класса отвечающего за генерацию скадрированных изображений ( ВАШ_сайт/engine/modules/mod_tcse/timthumb/timthumb.php ) можно указать свой срок хранения кеша.
По-умолчанию картинка хранится двое суток
Кеш картинок очищается каждые 2 суток.
* Redefine your with own defaults here.
* This are just examples, no one is required. */
// Set the time the cache is cleaned (Since the image generation) to one month (2592000/60/60/24=30)
Эти параметры в /engine/modules/mod_tcse/timthumb/timthumb.php
FILE_CACHE_TIME_BETWEEN_CLEANS и
FILE_CACHE_MAX_FILE_AGEна скриншоте показан параметр жизни кеша в 1 сутки.
86400/60/60/24=1
Особое внимание обратите на параметр
ALLOW_EXTERNAL Разрешить загрузку изображений с внешних сайтов. Будет проверяться ALLOWED_SITES, если ALLOW_ALL_EXTERNAL_SITES ложноУстановка
1. Загрузить архив плагина через админку сайта
УТИЛИТЫ - Управление плагинами 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.
Для версии 0.3Через ftp при необходимости внести правки в файле
/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=480&h=240&a=c" alt="">
где:
w=480 - ширина картинки
h=240 - высота картинки
a=c - центрирование изображения
{image-1} - тег вывода первой картинки в теле публикации.
Скачать файл: Скачать плагин timthumb_tcse_v0.2.zip [29,21 Kb] (cкачиваний: 49)
Скачать файл: Скачать плагин timthumb_tcse_v0.3.zip [25,54 Kb] (cкачиваний: 86)
обратите внимание:Плагин создает повышенную нагрузку на ваш хостинг. Если на сайте множество публикаций, и одновременный просмотр страниц сайта большим количеством посетителей то папка кеша с картинками быстро заполниться на 9998 файлов и далее будет висеть пока по лимиту не начнут удаляться старые изображения.
В качестве возможного решения - уменьшение времени жизни кеша картинки.
2 Комментарии