请教高手 关于Smarty的问题!!!
如下购物车数组
$carts=array(
1=>array(name=>“Nokia 5510” , price=>800, qty=>2 ),
3=>array(name=>“Nokia 6610” , price=>1800, qty=>1 ),
4=>array(name=>“Nokia 7710” , price=>2800, qty=>1 ),
7=>array(name=>“Nokia 8810” , price=>2500, qty=>5 ),
}
用smarty循环,以表格形式显示购物车,表格行背景色有轮换效果,表格下有总额统计
[解决办法]
在php页面里做好加法,传入smarty模板里就是了。smarty好像不管运算的。
循环加出
$sum
$smarty->assign("sum",$sum);
<tr bgcolor="#999999"><td colspan="3" style="text-align:right">总金额:{$sum}</td></tr>
[解决办法]
我查了一下手册,可以计算
在Math [数学运算] {assign var="foo" value="`$foo+$bar`"}
你的模板可以写成这样
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <table width="500"> <tr bgcolor="#999999"><td width="34%">名称</td><td width="33%">价格</td><td width="33%">数量</td></tr> {foreach from=$carts key=k item=item0} {if $k % 2} <tr bgcolor="#FFFF66"> {else} <tr bgcolor="#66FFFF"> {/if} {foreach from=$item0 item=item1} <td>{$item1}</td> {/foreach} </tr> {assign var="sum" value="`$sum+$item0.price`"} {/foreach} <tr bgcolor="#999999"><td colspan="3" style="text-align:right">总金额:{$sum}</td></tr> </table> </body></html>
[解决办法]
如果要做乘法
{assign var="sum" value="`$sum+$item0.price*$item0.qty`"}