首页 » Ecshop » Ecshop如何在模板dwt里显示php指定的变量

Ecshop如何在模板dwt里显示php指定的变量

15336 1

随着O2O的盛行,更多的传统行业开始选择线上,电商这一行,最近有句流行的话—-“现在卖个香蕉都要请一个技术人员”。但是往往传统行业的老板并不是这样的思维,他们以为花个少量的钱买个程序往那儿一放,一个类似淘宝的线上商城就出来了,公司就可以收钱了。于是乎,公司请了一个所谓的技术人员,或者压根就不请,搞了一套ecshop,因为在不买授权之前它丫的是免费的,然后这些人员在各种群问不授权会怎样啊这种问题,答案见《Ecshop十大基础问题Q/A》,也是醉了。

言归正传,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’才行,和数据表里的字段没有半毛关系,不要自以为是地觉得模板里的变量名称和表字段相同就是调用表了。

以上代码纯手打,可能有误,请自行修正。

文章评分14次,平均分4.3

本文原始地址:https://www.tiandiyoyo.com/2015/09/how-to-assign-to-template-on-ecshop/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


1 Comment

  1. 最近在研究这个程序,这篇文章帮了我大忙

载入分页评论...