Smarty общая сумма сумма

как я могу рассчитать окончательную цену, если у меня есть следующий код

$Всего

:

 {foreach from=$items key=k item=item}
            <tr>
              <td class="align_left"><strong>{$item.Title}</strong></td>
              <td><a href="products/view/{$k}"><img src="products_images/{$item.ImagePath}" width="60" height="60" alt="{$item.Title}" /></a></td>
              <td>{$item.quantity}</td>
              <td>{$item.Price}<span class="s_currency s_after"> лв.</span></td>
              <td>{math equation="x * y" x=$item.Price y=$item.quantity}<span class="s_currency s_after"> лв.</span></td>
            </tr>              
         {/foreach}
         <tr class="last">
             <td class="align_right" colspan="4"><strong>Всичко:</strong></td>
             <td class="s_secondary_color"><span class="s_currency s_before">$</span>{$Total}</td>
        </tr>

person Fortran    schedule 18.01.2014    source источник


Ответы (3)


Я не понял, зачем вам это нужно, но сделайте это:

ВНИМАНИЕ: для Smarty 3.

{$Total = 0 }  

{foreach from=$items key=k item=item}
        <tr>
          <td class="align_left"><strong>{$item.Title}</strong></td>
          <td><a href="products/view/{$k}"><img src="products_images/{$item.ImagePath}" width="60" height="60" alt="{$item.Title}" /></a></td>
          <td>{$item.quantity}</td>
          <td>{$item.Price}<span class="s_currency s_after"> лв.</span></td>
          <td>{math equation="x * y" x=$item.Price y=$item.quantity}<span class="s_currency s_after"> лв.</span></td>
          {$Total = $Total+ ($item.Price*$item.quantity) }
        </tr>              
     {/foreach}
     <tr class="last">
         <td class="align_right" colspan="4"><strong>Всичко:</strong></td>
         <td class="s_secondary_color"><span class="s_currency s_before">$</span>{$Total}</td>
    </tr>
person voodoo417    schedule 18.01.2014
comment
Большое спасибо voodoo417 - person Fortran; 19.01.2014

Лучше использовать запрос MySQL с GROUP BY и SUM( ) если отдельные суммы хранятся в БД

person Victor Bocharsky    schedule 18.01.2014

используйте assign в цикле ur и добавьте значения в переменную {$ total}

{assign var=total value=0}

лучше прокрутить массив ur в php и вычислить общее количество, если данные поступают из базы данных, затем запросить sum

person Community    schedule 18.01.2014