首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

关于Smarty的有关问题!

2012-04-17 
请教高手 关于Smarty的问题!!!如下购物车数组$cartsarray(1array(name“Nokia 5510” , price800, qt

请教高手 关于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`"}

你的模板可以写成这样

HTML code
<!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`"}

热点排行