带日期的Smarty if语句;日期=月份>;以显示结果


Smarty if statement with date & date = month > to show results

我从数组中得到了表格,并为不同的日期获得了许多金额$$$。

示例:

-2015年10月8日|金额:2500美元
-2015年10月19日|金额:1000美元
-2015年11月20日|金额:500美元
-2015年11月27日|金额:720$
-2015年12月30日|金额:100美元
-2015年12月31日|金额:250美元

我在smarty模板中的当前代码是:

                {foreach from=$referrals item=referral}
                    {if $referral.date eq "08/10/2015"}
                            {assign var="sum" value="`$sum+$referral.amount`"}
                    {/if}
                {/foreach}
                    <td>{$sum|number_format:2:",":"."} ден.</td>
                {assign var="sum" value=0}

我只得到日期的总金额:2015年10月8日

我的问题是如何获得整个月(10)10月、整个月(11)11月和全年的总金额(以月为单位),并且只针对不为0(零)的金额,因为我也有这种金额?

这是我的数组(包含超过136个数组):

Smarty_Variable Object (3)
->value = Array (137)
  0 => Array (11)
    id => "1514"
    date => "05/01/2016"
    service => "Рамка со податоци"
    package => "Рамка со податоци"
    userid => "500"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  1 => Array (11)
    id => "1515"
    date => "05/01/2016"
    service => "Лого со податоци"
    package => "Лого со податоци"
    userid => "500"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  2 => Array (11)
    id => "1496"
    date => "29/12/2015"
    service => "Рамка со податоци"
    package => "Рамка со податоци"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  3 => Array (11)
    id => "1497"
    date => "29/12/2015"
    service => "Лого со податоци"
    package => "Лого со податоци"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  4 => Array (11)
    id => "1498"
    date => "29/12/2015"
    service => "Реклама во црно-бела техника на 1/6 -..."
    package => "Реклама во црно-бела техника на 1/6 -..."
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  5 => Array (11)
    id => "1500"
    date => "29/12/2015"
    service => "Лого и мапа на www.abv.mk"
    package => "Лого и мапа на www.abv.mk"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
*//sum for october month*
{assign var="sum" value=0}
{foreach from=$referrals item=referral}
  {if $referral.date|date_format:"%m" == 10 && $referral.amount != 0}
     {assign var="sum" value=$sum+$referral.amount}
  {/if}
{/foreach}
*//display sum*
{$sum|number_format:2:",":"."}