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);
然后在模板部分可以这样调用(例如调用自己在后台定义的"净重"的商品类别属性):
XML/HTML代码
<ul><li> 净重:{$pros.净重.value}</li></ul>
接下来就可以修改它的其它页面了,最好是修改调用的function部分,例如修改lib_goods.php里的get_goods_propertiess。