FormIt.. type file multiple

день добрый, необходимо отправлять несколько файлов на почту… использую компонент FormIt

тег «form»:

<form action="[[~[[*id]]]]" method="post" enctype="multipart/form-data" class="form">

сам «input»:

<input class="form-control" type="file" name="filesToUpload[]" id="filesToUpload" maxlength="100000" multiple   value="[[!+fi.filesToUpload]]" />


чанк с письмом &emailTpl:

<p>Прикрепленный файл: [[+filesToUpload]]</p>
в атрибуте «name если убираю скобки то на почту приходит ток один файл, но в описание необходимы эти самые скобки name[] если с ними то приходит +filesToUpload

подскажите как быть заранее благодарен!..
Дмитрий Середюк
16 февраля 2015, 16:29
modx.pro
3
5 048
0

Комментарии: 7

Иван Бочкарев
17 февраля 2015, 08:50
0
Вызов должен содержать:
[[!FormIt?
   &hooks=`email,redirect`
   &redirectTo=`4`
   &emailTpl=`EmailTpl`
   &allowFiles=`1`
   &emailSubject=`Заявка с [[++site_name]]`
   &emailTo=`xxx@mail.ru`
   &validate=`marka:required, year:required, status:required, money:required, phone:required, email:required`
]]
Форма:
<form action="[[~[[*id]]]]" method="post" role="form" class="form-horizontal" enctype="multipart/form-data">
Input
<div class="form-group">
    <label for="photo_1" class="col-lg-5 control-label">Фотография 1:</label>
    <div class="col-lg-5">
        <input type="file" name="photo_1" id="photo_1" value="[[!+fi.photo_1]]"  >
    </div>
</div>
    Дмитрий Середюк
    17 февраля 2015, 10:13
    1
    0
    спасибо, но у меня вопрос звучал что нужно отправлять несколько фалов, а не один.
      Иван Бочкарев
      17 февраля 2015, 10:53
      0
      Если нужно определенное количество файлов загружать, то просто в форму добавляете несколько input c разными id.

      Либо попробуйте Allow multiple files in attachment email
        Дмитрий Середюк
        17 февраля 2015, 20:23
        0
        спасибо за ответ по данному материалу Allow multiple files in attachment email после вызова сниппета сраница с формой погружается в бесконечный цикл и тупо белый экран…
        еще раз спасибо буду копать дальше)
          Алексей
          21 июля 2016, 15:53
          0
          вроде они этот коммит мой зарелизили в офф репозитории. По крайней мере ок отправляет файлики через formconsturct + ajaxform
    Виталий Барышников
    28 апреля 2016, 16:36
    0
    Привет. Удалось ли решить вопрос? У меня тоже проблема.
      Stepanov
      07 сентября 2016, 14:26
      0
      Файл core/components/formit/model/formit/fihooks.class.php

      Меняем
      if(count($v['name']) > 1){

      на
      if(is_array($v['name'])){


      Соответственно для понимания проблемы — при использовании множественной загрузки и отправки одного файла в массиве имеем один элемент. Нам нужно проверять на то массив ли это, а не на количество элементов в нем. Программисты ять )
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7