[Решено] Вывод результата расчёта кредита

Нужно вывести -расчёт кредита при условии, что в товаре стоит галочка у чекбокса
Знаю, что условие наличия галочки можно проверить
[[if? &is=`[+credit_check+]:=1` &then=`число`]]

Но при этом нужно ещё и саму формулу вставить. Через if можно как
[[if? &is=`[+price+]/2*0.54548542` &math=`on`]]


Но возникает 2 проблемы
1. if в if не работает.
2. if не округляет

Вопросы
1. Как можно сделать иначе?
2. Как вообще делать расчёты с округлениями? Есть ли сниппет готовый?

11 комментариев

avatar
1. Как можно сделать иначе?
2. Как вообще делать расчёты с округлениями? Есть ли сниппет готовый?
Ответ на оба вопроса — написать свой сниппет. Там всего то несколько строк будет.
Комментарий отредактирован 2018-06-29 16:04:28 пользователем Advanced
avatar
То есть сейчас математические расчёты с округлением под EVO делать нечем из готовых модулей? Читал старые сообщения, вроде как через phx делали, но от него все отказались давно
avatar
То есть сейчас математические расчёты с округлением под EVO делать нечем из готовых модулей?


Готового нет, т.к. это всё пишется за пару минут.

Читал старые сообщения, вроде как через phx делали, но от него все отказались давно


В phx если не ошибаюсь нет модификаторов округления, потому даже если его использовать, то всё равно нужно будет написать свой модификатор(сниппет).
avatar
Хорошо, округление можно получить через такой вызов
echo round((($hit/2) * 0.02588553333), 2);

А вот по части написания модулей я плох. Вроде как TV получается
$hit = $modx->getTemplateVarOutput("sales");

Если я правильно понял.
А как дальше?
avatar
Можно так:

<?php
if ($check == 1) {
    echo round((($price/2) * 0.02588553333), 2);	
}

[!snippetName? &check=`[*check*]` &price=`[*price*]`!]
avatar
Спасибо, работает. Не догадался сделать вывод таким способом. Подправил немного под себя. Как вас отблагодарить?
avatar
Как вас отблагодарить?

Плюса вполне достаточно =)
avatar
В phx если не ошибаюсь нет модификаторов округления
чойта? :round(2)
github.com/modxcms-jp/evolution-jp/blob/develop/manager/includes/extenders/ex_modifiers.php
avatar
Может кто за плату напишет? Сколько не пытался понять, как сделать сниппет так, что бы он работал в вызове Ditto, так и не смог. Могу переделать вызов под DocLister, если критично
avatar
Если еще актуально, давай помогу
avatar
не досмотрел, уже решено)))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.