【发布时间】:2016-01-11 21:20:29
【问题描述】:
我从数组中获得了表格,并且在不同的日期获得了许多金额 $$$。
例子:
-08/10/2015 |金额:2500$
-19/10/2015 |金额:1000 美元
-20/11/2015 |金额:500 美元
-27/11/2015 |金额:720 美元
-30/12/2015 |金额:100 美元
-31/12/2015 |金额: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}
我只得到日期的总金额:08/10/2015
我的问题是如何获取整个 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"
【问题讨论】:
-
只需在常规 php 中执行此操作,然后使用变量将结果发送给 Smarty。 Smarty 是一个模板系统,它不应该用于如此复杂的操作
-
我同意 Borgtex - 如果您使用 WHMCS v6(WHMCS > 设置 > 常规设置 > 安全选项卡),请务必启用 Smarty PHP 标签。然后你可以在模板中使用 {php} {/php} 来做你想做的事。当然,理想情况下,您会在 hooks 文件夹中添加一个钩子来执行此操作,但我离题了。
-
我可以尝试你提到的两件事,但问题是我不是真正的 php 程序员,这就是我寻求帮助的原因:) @muely2k1
标签: php date smarty whmcs smarty3