【ECSHOP】在任意页面调用商品属性的方法
实现:
一、打开includes\lib_insert.php文件,在最后面增加一个函数:
function insert_attr($arr)
{
static $static_res = NULL;
$aid= isset($arr['aid'])?$arr['aid']:0;
$gid= isset($arr['gid'])?$arr['gid']:0;
if($aid==0) return '';
if ($static_res[$aid][$gid] === NULL)
{
if($gid>0)
{
$static_res[$aid][$gid] = $GLOBALS['db']->getOne('select attr_value from ' . $GLOBALS['ecs']->table('goods_attr') . " where attr_id ='$aid' and goods_id='$gid' ");
}
else
{
$static_res[$aid][$gid] = $GLOBALS['db']->getOne('select attr_name from ' . $GLOBALS['ecs']->table('attribute') . " where attr_id ='$aid' ");
}
}
return $static_res[$aid][$gid];
}
注意要加在 ?> 的前面
二、接下来就可以直接在 ecshop模板中(dwt文件、lib文件皆可)中调用,
调用方法:
{insert name='attr' aid=属性id gid=商品编号} 调用商品的属性值
{insert name='attr' aid=属性id} 调用商品的属性
是不是很简单,经过上面修改代码或增加代码后,就可以在ECSHOP的任意页面调用商品属性了。
举例在内容详情页调用:
{insert name='attr' aid=18 }:{insert name='attr' aid=18 gid=$id}
循环调用唯一值属性:
<!-- {foreach from=$properties item=property_group key=key} -->
<!-- {foreach from=$property_group item=property} -->
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="border-bottom">
<div class="row config">
<div class="col-md-3 col-sm-4 col-xs-4 ft-gray3">{$property.name|escape:html}</div>
<div class="col-md-8 col-sm-8 col-xs-8">{$property.value}</div>
</div>
</div>
</div>
<!-- {/foreach} -->
<!-- {/foreach}-->