Как отфильтровать ненужное значение инпута в письме (modx revo + formit)?

Имеется следующая конструкция: есть два товара, которые можно выбрать чекбоксами. При выборе товара, с помощью js появляется дополнительный инпут, где надо указать его количество (по умолчанию «1»)
4d2c79d86ab4fee38097676b52ec2957.jpeg

С помощью плагина formit я так это реализовал:

[[!FormIt?
   &hooks=`email,redirect`
   &emailTpl=`EmailFromСustomer`
   &emailTo=`111@yandex.com`
   &emailSubject=`Заявка на покупку"`
   &redirectTo=`21`
]]

<!-- Ручка -->
<input type="hidden" name="pen[]" value="">
<input type="checkbox" id="pen" name="pen[]" value="Ручка"  
[[!+fi.pen:FormItIsChecked=`pen`]] onclick="showHide('pen-input');" >
<label for="pen">Ручка</label>

<!-- Всплывающий инпут Ручки -->
<div  id="pen-input" style="visibility:hidden">
<input type="text"  id="pen-number" name="pen-number" value="1[[!+fi.pen-number]]">
 </div>


<!-- Товар-2 -->
<input type="hidden" name="pencil[]" value="">
<input type="checkbox" id="pencil" name="pencil[]" value="Карандаш"  
[[!+fi.pencil:FormItIsChecked=`pencil`]] onclick="showHide('pencil-input');" >
<label for="pencil">Карандаш</label>

<!-- Всплывающий инпут Карандаша -->
<div  id="pencil-input" style="visibility:hidden">
<input type="text"  id="pencil-number" name="pencil-number" value="1[[!+fi.pencil-number]]">
 </div>


Чанк, описывающий письмо с сервера таков:

Покупатель выбрал:<br />  
[[+pen]] — [[+pen-number]] <br />
[[+pencil]] — [[+pencil-number]]


В итоге, если покупатель выбрал оба товара и указал их количество (по умолчанию «1»), то вид письма таков:

Покупатель выбрал:
Ручка — 1
Карандаш — 1


Но если он выбрал только первый товар, то второй в письмо не включается, однако от него остаётся счётчик с «1» по умолчанию:

Покупатель выбрал:
Ручка — 2
— 1


Не могу придумать, как избежать попадания количества невыбранного товара в письмо.
В какую сторону копать, как быть?
  • Вопрос задан
  • 468 просмотров
Решения вопроса 1
Filgavrilov
@Filgavrilov Автор вопроса
Решение от Павла Романова:

В чанке:

[[+pencil:isnot=``:then=`[[+pencil]] — [[+pencil-number]]`]]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
Костыльный вариант, для нормальной организации курить доку надо.
Покупатель выбрал:<br />  
[[+pen:is=``:then=``:else=`[[+pen]] — [[+pen-number]] <br />`]]
[[+pencil:is=``:then=``:else=`[[+pencil]] — [[+pencil-number]]`]]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы