Здравствуйте.
Мне необходимо было построить шаблон печати, в котором срабатывала простенькая скоринговая система - происходило бы вычисление в зависимости от значений в полях таблицы.
С этим все просто:
{if {$Уровень риска} == 'LOW'} 0 {elseif {$Уровень риска} == 'MEDIUM'} 1 {elseif {$Уровень риска} == 'HIGH'} 1 {/if}
{if {$Запрошенная сумма} lte '50000'} 0 {else {$Запрошенная сумма} gt '50000'} 1 {/if}
{if {$Запрошенный срок} lte '0,5'} 0 {else {$Запрошенный срок} gt '0,5'} 1 {/if}
Все считается, но теперь мне необходимо это все сложить. Как это сделать? Все варианты приводят к ошибкам. Пытался изобразить что-то наподобие:
{if {$Запрошенный срок} lte '0,5'}0{else {$Запрошенный срок} gt '0,5'}1{/if}" digits=0}+{SumFormat value="{if {$Запрошенная сумма} lte '50000'}0{else {$Запрошенная сумма} gt '50000'}1{/if}" digits=0}+{SumFormat value="{if {$Уровень риска}=='LOW'}0{elseif {$Уровень риска}=='MEDIUM'}1{elseif {$Уровень риска}=='HIGH'}1{/if}}
Естественно, не работает, отображает что-то типа: "0+1+1", но не считает.
Помогите пожалуйста.
1
Сообщений в теме: 2
#2
Отправлено 30 Ноябрь 2015 - 09:22
Самое простое решение - перевести вычисление в скрытое доп.поле, и выводить в шаблоне уже его. Т.е. не в шаблоне считать, а через вычисление в таблице. Но если охота именно с шаблоном заморачиваться, то советую просмотреть документацию по smarty, может там найдете решение.
#3
Отправлено 30 Ноябрь 2015 - 22:57
Спасибо, CbCoder, вы мне очень помогли.
Я нашел решение при помощи сайта smarty. Выглядит так: требуется применить {math equation=""}, заключив вычисления в кавычки:
{math equation="{if {$The requested period} lte '0,5'}0{else {$The requested period} gt '0,5'}1{/if}+{if {$The requested amount} lte '50000'}0{else {$The requested amount} gt '50000'}1{/if}+{if {$Risk level} == 'LOW'}0{else {$Risk level} == 'MEDIUM' or {$Risk level} == 'HIGH'}1{/if}"}
Я нашел решение при помощи сайта smarty. Выглядит так: требуется применить {math equation=""}, заключив вычисления в кавычки:
{math equation="{if {$The requested period} lte '0,5'}0{else {$The requested period} gt '0,5'}1{/if}+{if {$The requested amount} lte '50000'}0{else {$The requested amount} gt '50000'}1{/if}+{if {$Risk level} == 'LOW'}0{else {$Risk level} == 'MEDIUM' or {$Risk level} == 'HIGH'}1{/if}"}
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных