mm_ddResizeImage MMrules MODX Evo ✈ Evolution CMS
- Разработчикам
- MMrules
- mm_ddResizeImage
- 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
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');