Плейсхолдер вложения в formIt не работает
Доброго времени суток!
Подскажите пожалуйста, почему может не работать плейсхолдер прикрепленного файла? на почту приходит голый плейсхолдер [[+upload]], но прикрепленный файл доходит (он приходит вообще независимо указывали его плейсхолдер в письме или нет).
Мне нужно перехватить полученное вложение и обработать с помощью Phpthumbon, и только потом отправить на почту, но пока я не могу понять как это сделать из-за непоняток с плейсхолдером.
Подскажите советом что я делаю не так?
Форма
Подскажите пожалуйста, почему может не работать плейсхолдер прикрепленного файла? на почту приходит голый плейсхолдер [[+upload]], но прикрепленный файл доходит (он приходит вообще независимо указывали его плейсхолдер в письме или нет).
Мне нужно перехватить полученное вложение и обработать с помощью Phpthumbon, и только потом отправить на почту, но пока я не могу понять как это сделать из-за непоняток с плейсхолдером.
Подскажите советом что я делаю не так?
Форма
<form action="" method="post" class="ajax_form af_example" enctype="multipart/form-data">
<div class="form-group">
<div class="controls">
<label class="control-label" for="upload">Вложение</label>
<input type="file" name="upload" class="form-control" />
<span class="error_upload">[[+fi.upload]]</span>
</div>
</div>
<div class="form-group">
<div class="controls">
<button type="reset" class="btn btn-default">[[%af_reset]]</button>
<button type="submit" class="btn btn-primary">[[%af_submit]]</button>
</div>
</div>
[[+fi.success:is=`1`:then=`
<div class="alert alert-success">[[+fi.successMessage]]</div>
`]]
[[+fi.validation_error:is=`1`:then=`
<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
`]]
</form>
Вызов AjaxForm+FormIt:[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm`
&hooks=`email,FormItSaveForm`
&formName=`Форма на странице контактов`
&formFields=`upload`
&fieldNames=`upload==файл`
&emailSubject=`Тестовое сообщение`
&emailTo=`****@mail.ru`
&emailTpl=`emailTpl`
&validate=`upload:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
Чанк письма:This is the Formit Email Chunk.
[[+upload]]
Комментарии: 12
У Вас какая версия FormIt?
3.0.3
Включите в вызов параметр &saveTmpFiles=`1`.
Сделайте сниппет getfile:
Вставьте его в качестве хука перед email:
Выводите в письме:
Сделайте сниппет getfile:
<?php
$file = $modx->getOption('assets_url', null, MODX_ASSETS_URL).'components/formit/tmp/'.$_FILES['upload']['tmp_name'];
$hook->setValue('file', $file );
return true;
Вставьте его в качестве хука перед email:
&hooks=`getfile,email,FormItSaveForm`
Выводите в письме:
[[+file]]
Спасибо, пошел тем же путем, но ваш способ немного удобнее.
А не знаете как в письме прикрепить не ссылку, а именно файл?
Все просто — как я помню плейсхолдер можно вообще не использовать, изображение прикрепится независимо от него.
Чтобы что-то поменять придется копировать и модифицировать FormIt, такая возможность не предусмотрена (ну я про нее не знаю)
Чтобы что-то поменять придется копировать и модифицировать FormIt, такая возможность не предусмотрена (ну я про нее не знаю)
Да, оно и правда само приходит, но мне нужно его перед этим обработать, пока додумался только до кастомного хука, но хорошо было бы использовать плейсхолдер, а не через $_FILES и т.д
Всем привет, а как вывести ссылку в письме на загруженное изображение изображение?
У меня просто выводится название файла и все
Ее сначала нужно сохранить на сервере, потом создать переменную хука:
Загрузка файлов методом POST
$hook->setValue('upload_img', $images);
и дальше эту переменную использовать по своему усмотрениюЗагрузка файлов методом POST
доброго времени! прошу совета. у меня несколько сайтов, ну все с формами, понятное дело. и вот возникла необходимость дополнить одну из форм возможностью прикрепить файлы. Все прошло неплохо, безупречно сработало поле
<div class="form-group col-lg-12 col-md-12 col-xs-12">
<label for="upload">Приложить файлы</label>
<input type="file" name="upload[]" multiple value />
</div>
все нормуль, файлы прикрепляются букетом и отлично приходят в форму. но если прикрепляешь один файл — то рядом с кнопкой «прикрепить» появляется имя файла, если выбираешь несколько файлов — то только «Число фалов: 3 » — ну если 3 файла было прикреплено. как бы все правильно. При наведении курсора на кнопку всплывает список файлов поименно. Значит данные о файлах есть, но не могу их выловить, списочек всплывает как обычный «тайтл» при наведении курсора, но в кодах его нигде не видно, все плейсхолдеры перебрал, ничем не выводится. А мне нужен список прикрепленных файлов перед отправкой, как сделать вывод, где искать список выбранных?
после добавления в вызов формы
но файлы на почту не пришли.
&saveTmpFiles=`1`
в сохраненных формах сообщений формита в Модекс прикрепления стали выглядеть так:upload: [object Object]
upload_0: [object Object]
upload_1: [object Object]
upload_2: [object Object]
upload_3: [object Object]
upload_4: [object Object]
это были прикреплены 4 файла.но файлы на почту не пришли.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.