2016-01-29 42 views
1

我是Freemarker的新手。我正在嘗試創建一個將列出發票的電子郵件模板,然後是底部的總金額。但是,根據貨幣需要有不同的「總金額」(某些客戶可能有3張歐元發票,2張英鎊等)。 我正在創建一個關聯數組,其中的鍵是貨幣,值是該幣種的總金額。對於每張發票,我需要添加應付正確貨幣價值的金額。但是我收到了一個錯誤,表示有一個意想不到的字符。 這裏的要點是:Freemaker:在關聯數組中賦值

<#assign totalarr = {} /> 
<#list invoicelist as invoice> 
    <#assign invcur = invoice.currency /> 
    <#assign invamt = invoice.amountremaining /> 
    <#assign totalarr[invcur] = totalarr[invcur] + invamt /> 
</#list> 

的錯誤是在第二到最後一行,在這裏我想量增加的總價值。有任何想法嗎? 謝謝! -Kristin

回答

2

要改變的哈希值子變量,你需要使用concatenation這樣的:

<#assign totalarr = {} /> 
<#list invoicelist as invoice> 
    <#assign invcur = invoice.currency /> 
    <#assign invamt = invoice.amountremaining /> 
    <#assign sum = totalarr[invcur]!0 /> 
    <#assign totalarr = totalarr + {invcur : sum + invamt} /> 
</#list> 
<#list totalarr?keys as key> 
${key} = ${totalarr[key]} 
</#list> 
+0

這正是我需要的!非常感謝! – kdormuth