tickets загрузка изображения через форму в tv
Привет.
Подскажите пожалуйста.
На фронтенде есть форма для создания тикета.
Подскажите пожалуйста.
На фронтенде есть форма для создания тикета.
[[TicketForm?
&tplFormCreate=`tpl.Tickets.form.create.news_press_reliz`
&resources=`16`
&redirectUnpublished=`6561`
&allowedFields=`pagetitle,content,img_preview`
]]Нужно через поле img_preview (TV — типа изображение) загрузить картинку на сервер и записать путь до неё в это TV.<div class="form-group">
<label for="ticket-img">Изображение</label>
<input type="text" class="form-control" placeholder="Изображение" name="img_preview" value="" maxlength="50" id="ticket-img"/>
<span class="error"></span>
</div>Попробовав так, в это поле записался текст, значит данные записываются нормально. Но с изображением куда все тяжелее. Подскажите, может кто сталкивался с подобной задачей. Надо именно загрузить файл с фронтенда и записать его путь в TV. Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
1. Добавил элемент на форму 2. Ловить плагином на событие (добавив какой-нибудь скрытый инпут, чтобы ловить именно эту форму, можно даже проверять на существование $_POST['image'])
и получать данные изображения: 3. Грузить файл, получать имя и делать setTVValue.
Алгоритм действия ясен?
Дальше, добавь enctype атрибут для формы.
Дальше в плагине добавляем обработку загрузки изображения:
но мне не удается даже загрузить файл на сервак…
Может кто спарвился?
Напишу сюда пожалуй ещё:
Для начала создадим новую ТВ — назовём её «photo» (тип: изображение).
Затем давайте откопируем tpl для создания новых тикетов «tpl.Tickets.form.create» и назовём его «tpl.Tickets.form.create.my».
А теперь зайдём в эту tpl и добавим новое поле в нужное место.
Также добавим атрибут «enctype» в тег формы, чтобы она могла поддерживать загрузку файлов на сервер.
Вызов сниппета соответственно такой:
Отлично, новое поле у нас в форме есть. Но чтобы оно загрузилось, мы должны написать плагин, который будет срабатывать на событие «создания нового документа», а именно «OnDocFormSave».
Данный плагин будет получать глобальный массив $_FILES, с помощью которого будем получать все данные загруженного файла, а затем переносить этот файл в нужное место с новым именем и с дальнейшей записью его пути в нашу TV.
Сам плагин (событие — OnDocFormSave)
пробовал при update, картинку не загружает