Skip to content

About

mixedImage - modx custom TV

Resources

Stars

9 stars

Watchers

1 watching

Forks

Repository files navigation

mixedimage

mixedImage — кастомный TV для MODX. Changelog

mixedImage

Требования

  • PHP >= 7.0
  • MODX >= 2.8

Что делает

Добавляет тип TV Смешанная загрузка файла / Mixed Image Input.

Вы загружаете файл через менеджер MODX, с компьютера, по URL или обрезаете уже загруженное изображение. Поле рассчитано на картинки. Другие типы файлов тоже проходят, если их разрешает сайт. Для не-изображений отключите превью, иначе под полем будет битая миниатюра.

Настройки TV

Путь сохранения — папка относительно корня медиа-источника. Если у 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)

Добавьте 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

После сохранения обрезанного файла вызывается системное событие 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} пустые.

MIGX

  1. Создайте TV migx_img с типом Смешанная загрузка файла. Не назначайте шаблону. Укажите источник или путь.
  2. Создайте TV slider с типом migx. В конфигурации формы для полей изображений:
{"field":"image","caption":"Изображение 1","inputTV":"migx_img"},
{"field":"image2","caption":"Изображение 2","inputTV":"migx_img"}

В новой строке MIGX появятся поля загрузки по настройкам migx_img.

About

mixedImage - modx custom TV

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages