Нужен совет по написанию сниппета.
Есть сниппет расчета:
Вот вызов:
<?php
$out = '';
$price=$_GET['price']*1; // цена контракта
$done=$_GET['done']*1; // выполнено
$days=$_GET['days']*1; // дни просрочки
$disp=$_GET['disp']*1; // дни на исполнение
$cbproc=$_GET['cbproc']*1;
$cb=$_GET['cbproc']/100; // размер ставки ЦБ (вводится в %)
$dcb=$cb/300; // размер ставки ЦБ за день
$k=($days/$disp)*100; // расчет коэффициента * 100%
if($k<=50) {$scb=0.01;}
elseif ($k<100) {$scb=0.02;}
elseif ($k>=100) {$scb=0.03;}
$rsize1=$scb*$cb*$days;
$peni1=($price-$done)*$rsize1; // пени По ПП 1063
if($peni1!=0){
if($format=='page'){
$out= '<p>Вы запрашивали расчёт пени для следующих параметров:</p>
<table class="penitabs">
<tr><th>Цена контракта, руб.:</th><td> '.$price.'</td></tr>
<tr><th>Выполнено:</th> <td>'.$done.'</td></tr>
<tr><th>Дни просрочки: </th><td>'.$days.'</td><tr>
<tr><th>Дни на исполнение:</th> <td>'.$disp.'</td></tr>
<tr><th>Размер ставки ЦБ:</th> <td>'.$cbproc.'</td></tr>
</table>
<h3>Пени по Постановлению правительства № 1063: <span class="pnum">'.round($peni1 , 2, PHP_ROUND_HALF_UP).'<span></h3>';
return $out;
}
elseif($format=='letter'){
$out=$peni1=($price-$done)*$rsize1;
return $out;
}
elseif($format='k'){
$k=($days/$disp)*100;
return $k;
}
}
Если выводить его на странице — он работает, но если прописать результаты его работы в письмо, причем на той же самой странице (т.е. GET массив также доступен), то приходит пустая строчка.Вот вызов:
[[!AjaxForm?
&snippet=`FormIt`
&form=`form.pdf`
&emailTpl=`emailPdf_tpl`
&pdfTpl=`pdf.tpl`
&hooks=`hpdf,email`
&emailSubject=`Расчёт пени с портала`
&emailTo=`[[+email]]`
&validate=`name:required,email:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
в чанке pdf.tpl прописываю вызов вот так: [[parametersPeni? &format=`letter`]]