mm_ddResizeImage

Plugin
  • Версия: 1.2b
  • Выпущено:
  • Метки: Manager
  • Использует:
    • Плагин ManagerManager 0.4
    • библиотеку phpThumb 1.7.11 (содержится в архиве)
    • сниппет ddGetMultipleField 2.10.1 (если необходимо работать с множественными полями mm_ddMultipleFields)
Скачать63 скачивания

Описание

Виджет для плагина ManagerManager, позволяющий изменять размеры изображений (TV), например: делать маленькие превьюшки (thumbs).

Виджет срабатывает только в момент сохранения документов (событие «OnBeforeDocFormSave») и не создаёт изображений повторно, что обеспечивает минимальный расход ресурсов сервера.

Список изменений

  • Библиотека EasyPhpThumbnail больше не используется, теперь используется phpThumb.
  • Небольшие изменения в коде и исправление ошибок.

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

Для установки распакуйте архив в /assets/plungins/managermanager/widgets/. Смотрите также документацию ManagerManager 0.4 и модуль ddMMEditor.

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
tvs * Имена TV с изображениями, для которых необходимо применить виджет. {comma separated string}
roles Роли, для которых необходимо применить виждет, пустое значение — все роли. {comma separated string}
templates Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. {comma separated string}
width * Ширина создаваемого изображения в px. Пустое значение — автоматический расчёт исходя из высоты. Обязателен хотя бы один размер. {integer}
height * Высота создаваемого изображения в px. Пустое значение — автоматический расчёт исходя из ширины. Обязателен хотя бы один размер. {integer}
cropping Обрезать ли изображение, пытаясь добиться жесткого соответствия размерам. 0 — не обрезать; 1 — просто обрезать (не изменяя масштаб); 'crop_resized' — сначала уменьшить, затем обрезать; 'fill_resized' — пропорционально уменьшить, заполнив образовавшиеся поля цветом («background»). 0; 1; 'crop_resized'; 'fill_resized' 'crop_resized'
suffix Суффикс для имен создаваемых изображений. При пустом значении заменяются исходные изображения! {string} '_ddthumb'
replaceFieldVal Нужно ли переписывать значения в TV на имена созданных изображений (те, что с учётом «suffix»). Не работает при multipleField = 1! 0; 1 0
background Цвет фона (используется при cropping = 'fill_resized'). {string} '#FFFFFF'
multipleField Является ли поле множественным (для mm_ddMultipleFields). 0; 1 0
colNum Номер колонки, в которой находится изображение (для mm_ddMultipleFields). {integer} 0
splY Разделитель строк (для mm_ddMultipleFields). {string} '||'
splX Разделитель колонок (для mm_ddMultipleFields). {string} '::'
num Номер строки, которую надо обрабатывать (для mm_ddMultipleFields). {integer}; 'all' 'all'

Примеры

Создать для изображений, выставленных в TV «imageTV», уменьшенные копии шириной 200 px (высота пусть рассчитывается автоматически)

mm_ddResizeImage('imageTV', '', '', 200);

Создать для изображений, выставленных в TV «imageTV», уменьшенные копии размером 200 × 100 px, а что не влезет — пусть обрежется

mm_ddResizeImage('imageTV', '', '', 200, 100);

Создать для изображений, выставленных в TV «imageTV», уменьшенные копии, перезаписывая значения в TV

mm_ddResizeImage('imageTV', '', '', 200, 100, 'crop_resized', '_ddthumb', 1);

Пользователь загрузил и вставил в TV 'assets/images/some.jpg', а после сохранения документа сделалась превьюшка и значение TV стало 'assets/images/some_ddthumb.jpg'.

Обеспечить, чтобы пользователи загружали изображения в TV «logo» строго размером 125 × 68 px

Всё, что загружается, должно быть пропорционально уменьшено до заданного размера, а если пропорции не верные, то свободное пространство должно быть залито цветом '#686868'.

mm_ddResizeImage('imageTV', '', '', 125, 68, 'fill_resized', '', 0, '#686868');