mixedImage — кастомный TV для MODX. Changelog
- PHP >= 7.0
- MODX >= 2.8
Добавляет тип TV Смешанная загрузка файла / Mixed Image Input.
Вы загружаете файл через менеджер MODX, с компьютера, по URL или обрезаете уже загруженное изображение. Поле рассчитано на картинки. Другие типы файлов тоже проходят, если их разрешает сайт. Для не-изображений отключите превью, иначе под полем будет битая миниатюра.
Путь сохранения — папка относительно корня медиа-источника. Если у TV свой источник с assets/images/, а в пути указали uploads/, итоговая папка будет assets/images/uploads/.
Удаление файла — при «Да» очистка поля удаляет файл с диска.
Префикс имени файла — строка в начале имени. Пример: {rand}_
Плейсхолдеры префикса:
{id}— ID ресурса{pid}— ID родителя{alias}— алиас ресурса{palias}— алиас родителя{tid}— ID TV{uid}— ID пользователя{rand}— случайная строка (длина в системной настройке){t}— timestamp{y},{m},{d},{h},{i},{s}— компоненты даты и времени
Принимаемые типы MIME — дополнительный список через запятую. Пример: image/jpeg, image/png, application/pdf
Использовать префикс как имя файла — имя файла полностью берётся из префикса, без исходного имени загрузки.
Показать превью — миниатюра или видеоплеер под полем (по умолчанию включено).
Показывать значение TV — путь к файлу под полем (по умолчанию включено).
Параметры для ресайза изображений — параметры phpThumb при выводе.
Примеры:
w=200&h=200&zc=1
fltr=wmt|Hello|60|C|ff0000|
fltr=wmi|/assets/wt.png|C|
Список кнопок (triggerlist) — кнопки через запятую: clear, manager, pc, url, crop. По умолчанию: clear,manager,pc.
Добавьте crop в triggerlist, например: clear,manager,pc,crop.
В блоке Crop в настройках TV:
| Опция | Назначение |
|---|---|
crop_ratio |
Пропорции рамки: 1/1, 16/9, 450/500 |
crop_width |
Ширина результата в px |
crop_height |
Высота результата в px |
crop_suffix |
Суффикс имени файла. Пусто — перезапись. time() — новый файл с _timestamp |
crop_options |
Доп. опции CropperJS: zoomOnWheel: false, viewMode: 1 |
Пустой суффикс перезаписывает исходный файл. time() каждый раз создаёт новое имя. Если суффикс уже есть в имени, повторно не добавляется.
После сохранения обрезанного файла вызывается системное событие OnMixedImageCrop:
image— абсолютный путь к файлу на дискеtvId— ID TV
Пример плагина с водяным знаком после crop:
<?php
switch ($modx->event->name) {
case 'OnMixedImageCrop':
if (!$image) {
return;
}
$watermark = $modx->runSnippet('phpthumbon', [
'input' => $image,
'options' => 'fltr=wmi|/assets/template/images/watermark.png|C|100',
]);
rename(MODX_BASE_PATH . $watermark, $image);
break;
}
return;mixedimage.random_lenght — длина строки для {rand}.
mixedimage.translit — транслит имён файлов. Нужен установленный пакет translit.
mixedimage.check_resid — загрузка только при редактировании сохранённого ресурса. Рекомендуется оставить включённым: у несохранённых ресурсов {alias} и {palias} пустые.
- Создайте TV
migx_imgс типом Смешанная загрузка файла. Не назначайте шаблону. Укажите источник или путь. - Создайте TV
sliderс типом migx. В конфигурации формы для полей изображений:
{"field":"image","caption":"Изображение 1","inputTV":"migx_img"},
{"field":"image2","caption":"Изображение 2","inputTV":"migx_img"}В новой строке MIGX появятся поля загрузки по настройкам migx_img.
