Я использую MODX 2.4.2, и у меня есть многостраничная форма FormIt. В этой форме пользователь имеет возможность выбирать из разных радиобоксов. В зависимости от выбора пользователь сделал выбор. Эти значения должны вычисляться/суммироваться вместе, чтобы получить общее значение, которое будет использоваться для дальнейшего расчета.modx revo formit hook not working
До сих пор у меня есть фрагмент/крючок «вычисления», как это:
<?php
$age = $hook->getValue('age');
if($age === '40') { $result = '111'; }
if($age === '50') { $result = '222'; }
if($married === 'yes') { $result = $result + '333'; }
if($married === 'no') { $result = $result + '444'; }
$hook->setValue('all', $result);
return true;
Крюк вызывается в ФОРМИТ-сниппета-вызов (имеющий опечатка в ней приводит форму ошибки , поэтому реализованы крючки).
[[!FormIt?
&hooks=`spam,calculating,email,redirect`
&redirectTo=`36`
&validate=`age:required, married:required,`
&emailTpl=`Step1`
&emailTo=`[email protected]`
&emailSubject=`new message`
&store=`1`
]]
Итак, представьте себе, что пользователь выбрал возраст «40» и что он женат. Это должно привести к 111 + 333 = 444, но я просто получаю заполнитель [[+ все]] отображается в электронном письме, которое я получаю через FormIt.
Даже без calcultion части я просто получаю пустой заполнитель [[+ все]]:
<?php
$age = $hook->getValue('age');
if($age === '40') { $result = '111'; }
if($age === '50') { $result = '222'; }
$hook->setValue('all', $result);
return true;
Что происходит здесь не так, любая помощь будет оценена.
EDIT: добавить некоторые формы-код:
<form action="[[~[[*id]]]]" method="post" class="form">
<input type="hidden" name="nospam:blank" value="[[+fi.nospam]]" />
<span>1. Age</span><br />
<input type="radio" name="age[]" value="40" [[!+fi.age:FormItIsChecked=`40`]]" />> 40 years
<input type="radio" name="age[]" value="50" [[!+fi.age:FormItIsChecked=`50`]]" />> 50 years
<input type="radio" name="age[]" value="60" [[!+fi.age:FormItIsChecked=`60`]]" />> 60 years
<input type="radio" name="age[]" value="70" [[!+fi.age:FormItIsChecked=`70`]]" />> 70 years
<input type="radio" name="age[]" value="80" [[!+fi.age:FormItIsChecked=`80`]]" />> 80 years
<br /><br />
<span>2. Married</span><br />
<input type="radio" name="married[]" value="yes" [[!+fi.married:FormItIsChecked=`yes`]]" />yes
<input type="radio" name="married[]" value="no" [[!+fi.married:FormItIsChecked=`50no]]" />no
<br /> <br />
<input class="button" type="submit" value="Weiter" />
</form>
Не могли бы вы добавить код формы, пожалуйста. – Jako