Я получил таблицу из массива и много сумм $$$ для разных дат.Smarty if statement with date & date = month>, чтобы показать результаты
Пример:
-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) октября или за весь месяц (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
Я согласен с Borgtex - не забудьте включить теги Smarty PHP, если вы используете WHMCS v6 (WHMCS> Настройка> Общие настройки> вкладка Безопасность). Затем вы можете использовать {php} {/ php} в шаблоне, чтобы делать то, что вы хотите сделать. Конечно, в идеале вы добавили бы крючок в папку hooks, чтобы сделать это, но я отвлекся. – muely2k1
Я могу попробовать обе вещи, о которых стоит упомянуть, но проблема в том, что я действительно не программист php, вот почему я прошу о помощи :) @ muely2k1 – ViktorG