ECShop调用具体的自定义商品属性

2008-4-24  18:17

      ECSHop的自定义属性很是好用,但是在前台输出的时候非常麻烦,只能循环输出所有的附加商品属性,不能输出制定的某个自定义的属性,本来它用的是Smarty模板,但是到2.5之后好像是把Smarty修改很多,里面好多东西不能用了。今天给朋友改东西,随便就写了下。

      我只在商品具体信息页面(goods.php)做了这个事情,可以的话可以写到每个页面去。

修改goods.php

PHP代码
  1. $smarty->assign(‘properties’,          $properties['pro']);  

这句前添加:

PHP代码
  1. //By Sharmy   
  2. $pros = array();   
  3. foreach($properties['pro']['商品属性'as $k=>$pro){   
  4.     $pros[$pro['name']]['specId'] = $k;   
  5.     $pros[$pro['name']]['value'] = $pro['value'];   
  6. }   
  7. $smarty->assign(‘pros’,          $pros);   

然后在模板部分可以这样调用(例如调用自己在后台定义的"净重"的商品类别属性):

XML/HTML代码
  1. <ul><li> 净重:{$pros.净重.value}</li></ul>  

      嘿嘿,是不搜很爽?
      接下来就可以修改它的其它页面了,最好是修改调用的function部分,例如修改lib_goods.php里的get_goods_propertiess。

Tags: ,

此文一共有2条留言

  1. soe:

    2008-5-26 07:39:54

    请问一下,ecshop 2.5是不是不能用 {$xxx|replace:”":”"} 这样的方法了?如果是不行,怎么实现这个功能呢?多谢了……

  2. sharmy:

    2008-5-26 09:40:20

    最新版本的ECshop已经把Smarty改了,要实现你的功能只有自己写函数了。

发表评论