Новость 101

Логика работы
Все файлы загружаются сразу при добавлении и сохраняются в новую таблицу TicketFile. В зависимости от типа файла (картинка или нет), генерируется уменьшенная копия и сохраняется в поле thumb.

Правила загрузки и генерации превью, как обычно, прописаны в источнике медиа. Стандартный для Tickets устанавливается вместе с обновлением. Обратите внимание: в отличии от MS2 всегда генерируется только одна превьюшка, поэтому формат JSON массива немного другой.

Сразу после загрузки файлам присваивается пользователь-владелец и нулевой документ-родитель. Пока вы не сохраните тикет вместе с загруженным файлом — он считается новым и показывается вам в окошке создания и редактирования тикета.

Если картинка вам не нужна — её можно удалить, вернее, поставить флаг deleted. Физически же файл и запись в БД будут удалены при обновлении формы (только для новых файлов) или при сохранении тикета (для всех).

То есть, файл еще не привязанный к тикету удаляется проще, чем привязанный. Сама привязка происходит при сохранении тикета. Пока вы его не сохраните — файл болтается неприкаянный и показывается вам в форме тикета.

Удаляемый тикеты обводятся красной рамкой, новые — синей. Все стили, как обычно, в default.css.

Новые параметры сниппета TicketForm:
allowFiles — Разрешить загрузку файлов? Если да — то подключится загрузчик и нужные скрипты.
source — Источник медиа-файлов, в который будут сохранены изображения. По умолчанию берется системны настройка tickets.source_default, в которую прописывается источник Tickets Files.
tplFiles — Чанк-обертка всего блока работы с файлами. Загружчик, список файлов и прогрессбар.
tplFile — Чанк оформление файла, который не является изображением.
tplImage — Чанк офомрления картинок.
Советую зайти в источник файлов и вдумчиво почитать описания фиолетовых параметров — они влияют на работу загрузчика и сохранение файлов.