Formit и поля с массивом
Итак имеем форму:
Обычный вызов 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
Комментарии: 2
Может, так
Заявка с сайта.
Поле №1: [[+item.0]]
Поле №2: [[+item.1]]
Поле №3: [[+item.2]]
Так не работает. Прочитал что возможно реализовать через сниппеты:
<?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
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.