ecshop 前端怎么调用数据
1个回答
展开全部
Ecshop的模板文件怎么接受PHP页面传过来的变量并显示在前端的?技术党直接切换至/include/cls_template.php文件,其他的往下看。之所以写这篇文章,也是因为tiandi见过不少人(写代码入门级别的,和不会写代码的)问类似同样的一个问题,比如下面这段模板代码里写着,
<!-- {foreach from=$goodslist item=goods} 显示商品-->
商品名称:{goods.name}
商品货号:{goods.goods_bn}
商品价格:{goods.price}
商品重量:{goods.weight}
......
<!-- {/foreach} -->
于是懂一点技术的人,通过英文判断name,goods_bn,price,weight这些分别等于goods表里的字段,然后他们在goods数据表里加了一个字段goods_color,但是在这里用下面代码却发现没有显示出来。
{goods.goods_color}
至于为什么没有显示出来呢?他们不去看代码,群里一遍又一遍重复地有人问同样的问题,解答解答着就累了,于是有人抽空花了时间写了开发手册放群里,可这些人压根就不会去看手册,他们总想用最快的,最廉价的方式让能帮助他们的人来付出,给他们答案,甚至内心巴不得最好是远程帮他们把代码都写上,网站直接生效。tiandi在这里不禁要问,凭什么呢?
抱怨一下,继续往下说,上文里模板的变量$goodslist是从php里通过下面一行代码赋值过来的:
$smarty->assign('goodslist',$goodsarray)
比方说你有一个goods.php的文件,其中
$goodsarray = array('name'=>'myname','goods_bn'=>'bn1234','price'=>'99','weight'=>'20');
$smarty->assign('goodslist',$goodsarray)//赋值到模板;
$smarty->display('goods.dwt');//指定模板文件
这样你才能用之前的代码在指定的模板goods.dwt里显示相关的项目,因此你要显示出goods_color的值,则必须在$goodsarray里添加’goods_color’=>’red’才行,和数据表里的字段没有半毛关系,不要自以为是地觉得模板里的变量名称和表字段相同就是调用表了。
以上代码纯手打,可能有误,请自行修正。
<!-- {foreach from=$goodslist item=goods} 显示商品-->
商品名称:{goods.name}
商品货号:{goods.goods_bn}
商品价格:{goods.price}
商品重量:{goods.weight}
......
<!-- {/foreach} -->
于是懂一点技术的人,通过英文判断name,goods_bn,price,weight这些分别等于goods表里的字段,然后他们在goods数据表里加了一个字段goods_color,但是在这里用下面代码却发现没有显示出来。
{goods.goods_color}
至于为什么没有显示出来呢?他们不去看代码,群里一遍又一遍重复地有人问同样的问题,解答解答着就累了,于是有人抽空花了时间写了开发手册放群里,可这些人压根就不会去看手册,他们总想用最快的,最廉价的方式让能帮助他们的人来付出,给他们答案,甚至内心巴不得最好是远程帮他们把代码都写上,网站直接生效。tiandi在这里不禁要问,凭什么呢?
抱怨一下,继续往下说,上文里模板的变量$goodslist是从php里通过下面一行代码赋值过来的:
$smarty->assign('goodslist',$goodsarray)
比方说你有一个goods.php的文件,其中
$goodsarray = array('name'=>'myname','goods_bn'=>'bn1234','price'=>'99','weight'=>'20');
$smarty->assign('goodslist',$goodsarray)//赋值到模板;
$smarty->display('goods.dwt');//指定模板文件
这样你才能用之前的代码在指定的模板goods.dwt里显示相关的项目,因此你要显示出goods_color的值,则必须在$goodsarray里添加’goods_color’=>’red’才行,和数据表里的字段没有半毛关系,不要自以为是地觉得模板里的变量名称和表字段相同就是调用表了。
以上代码纯手打,可能有误,请自行修正。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询