Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
    • Теги
    • API
    • DBAPI
    • System Variables
    • MMrules
  • Дополнения
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • MMrules

mm_ddResizeImage MMrules MODX Evo ✈ Evolution CMS

  • Разработчикам
  • MMrules
  • mm_ddResizeImage
Menu
  • mm_ddMaxLength
  • mm_ddNumericFields
  • mm_hideTemplates
  • mm_requireFields
  • mm_hideFields
  • mm_ddReadonly
  • mm_inherit
  • mm_default
  • mm_ddSetFieldValue
  • mm_synch_fields
  • mm_renameField
  • mm_changeFieldHelp
  • mm_ddMultipleFields
  • mm_ddSelectDocuments
  • mm_widget_tags
  • mm_widget_colors
  • mm_ddCreateSection
  • mm_ddMoveFieldsToSection
  • mm_hideSections
  • mm_renameSection
  • mm_createTab
  • mm_moveFieldsToTab
  • mm_hideTabs
  • mm_renameTab
  • mm_ddGMap
  • mm_ddYMap
  • mm_widget_showimagetvs
  • mm_ddResizeImage
  • mm_ddAutoFolders
  • mm_ddFillMenuindex
  • mm_widget_accessdenied
  • mm_ddHTMLCleaner
  • php в mm_rules
1464

mm_ddResizeImage MMrules MODX Evo ✈ Evolution CMS

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

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

mm_ddResizeImage($tvs, $roles, $templates, $width, $height, $cropping, $suffix, $background, $multipleField, $colNum, $splY, $splX, $num);

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

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

Примеры

Создать для изображений, выставленных в 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');