Formit и поля с массивом

Итак имеем форму:
<input name="item[]" type="text">
<input name="item[]" type="text">
<input name="item[]" type="text">

Обычный вызов Formit:
[[!FormIt?
…
]]

Чанк с письмом:
Заявка с сайта.
Поле №1: [[+item]]

В письме приходят значения через пробел.
Поле №1: значение1 значение2 значение3

Как разделить их на отдельные поля?
Поле №1: значение1
Поле №1: значение2
Поле №1: значение3
zooks
07 марта 2017, 11:58
modx.pro
1 727
0

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

Илья Уткин
07 марта 2017, 15:56
0
Может, так
Заявка с сайта.
Поле №1: [[+item.0]]
Поле №2: [[+item.1]]
Поле №3: [[+item.2]]
    zooks
    07 марта 2017, 20:29
    0
    Так не работает. Прочитал что возможно реализовать через сниппеты:
    <?php
    /* 
     * fiProcessArrays formit hook. Processes all values stored as arrays and implodes them.
     * Copyright Oleg Pryadko (websitezen.com) 2011
     * License GPL 2 or later 
    */
    $fieldSuffix = $modx->getOption('fipaFieldSuffix',$scriptProperties,'_values');
    $separator = $modx->getOption('fipaValueSeparator',$scriptProperties,', ');
    $allFormFields = $hook->getValues();
    foreach ($allFormFields as $fieldName => $fieldValue) {
      if (is_array($fieldValue)) {
        $imploded = '';
        $count=0;
        foreach ($fieldValue as $value) {
          if (!empty($value)) {
            if ($count) {$imploded .= $separator;}
            $imploded .= $value;
            $count++;
          }
        }
        $hook->setValue($fieldName.$fieldSuffix,$imploded);
      }
    }
    return true;
    Вызов:
    [[!FormIt?
    &hooks=`fiProcessArrays,email`
    &emailTpl=`ContactFormReport`
    &emailTo=`[[++emailsender]]`
    `]]
    favoriteColors[] -> [[+favoriteColors_values]]
    forums.modx.com/thread/47606/formit-how-to-use-checkbox-array
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2