ECSHop的自定义属性很是好用,但是在前台输出的时候非常麻烦,只能循环输出所有的附加商品属性,不能输出制定的某个自定义的属性,本来它用的是Smarty模板,但是到2.5之后好像是把Smarty修改很多,里面好多东西不能用了。今天给朋友改东西,随便就写了下。 我只在商品具体信息页面(goods.php)做了这个事情,可以的话可以写到每个页面去。修改goods.php 在 PHP代码 $smarty->assign(‘properties’, $properties['pro']); 这句前添加: PHP代码//By Sharmy $pros = array(); foreach($properties['pro']['商品属性'] as $k=>$pro){ $pros[$pro['name']]['specId'] = $k; $pros[$pro['name']]['value'] = $pro['value']; } $smarty->assign(‘pros’, $pros); 然后在模板部分可以这样调用(例如调用自己在后台定义的"净重"的商品类别属性): HTML代码 <ul><li> 净重:{$pros.净重.value}</li></ul> 接下来就可以修改它的其它页面了,最好是修改调用的function部分,例如修改lib_goods.php里的get_goods_propertiess。
|