ecshop购物车中属性显示的常识

2009-10-09 15:05 来源:www.chinab4c.com 作者:ecshop专家

     ecshop电子商务系统中,可以在购买商品的时候,让属性在ecshop购物车中显示,而这一机制.是在增加购物车的时候,就进行处理了,而且通过字符串形式存储在cart表中的。具体的存储在goods_attr字段中。

    他是通过以下函数来处理商品属性的。

    function get_goods_attr_info($arr)
{
    $attr   = '';

    if (!empty($arr))
    {
        $fmt = "%s:%s[%s] \n";

        $sql = "SELECT a.attr_name, ga.attr_value, ga.attr_price ".
                "FROM ".$GLOBALS['ecs']->table('goods_attr')." AS ga, ".
                    $GLOBALS['ecs']->table('attribute')." AS a ".
                "WHERE " .db_create_in($arr, 'ga.goods_attr_id')." AND a.attr_id = ga.attr_id order by a.sort_order asc";
  
        $res = $GLOBALS['db']->query($sql);

        while ($row = $GLOBALS['db']->fetchRow($res))
        {
            $attr_price = round(floatval($row['attr_price']), 2);
            $attr .= sprintf($fmt, $row['attr_name'], $row['attr_value'], $attr_price);
        }

        $attr = str_replace('[0]', '', $attr);
    }

    return $attr;
}

    当然,你也可以让属性在购物车中按顺序排序显示,你只需要加入order by a.sort_order asc来控制就可以了。而在增加购物车函数中,function addto_cart($goods_id, $num = 1, $spec = array(), $parent = 0)通过调用 $goods_attr             = get_goods_attr_info($spec);函数,来获取对应属性的值。

    相关文章:

   控制ecshop最少购买数量

  ecshop购物车修改购买数量

 

   来源:中国B4C电子商务

上海租车