ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-07-30


客户在添加新产品时,让属性按照添加的顺序(属性id)排列,下面ecshop开发中心(www.68ecshop.com)教程说明
修改/inclues/lib_goods.php

 

/* 获得商品的规格 */
     $sql = "SELECT a.attr_id, a.attr_name, a.attr_group, a.is_linked, a.attr_type, ".
                 "g.goods_attr_id, g.attr_value, g.attr_price " .
             'FROM ' . $GLOBALS['ecs']->table('goods_attr') . ' AS g ' .
             'LEFT JOIN ' . $GLOBALS['ecs']->table('attribute') . ' AS a ON a.attr_id = g.attr_id ' .
             "WHERE g.goods_id = '$goods_id' " .
             'ORDER BY g.goods_attr_id, a.sort_order, g.attr_price';

情况二:在复制商品时属性排序跟原商品相反到处理
修改/inclues/lib_goods.php

/**
 * 取得商品属性
 * @param   int     $goods_id   商品id
 * @return  array
 */
 function get_goods_attr($goods_id)
 {
     $attr_list = array();
     $sql = "SELECT a.attr_id, a.attr_name " .
             "FROM " . $GLOBALS['ecs']->table('goods') . " AS g, " . $GLOBALS['ecs']->table('attribute') . " AS a " .
             "WHERE g.goods_id = '$goods_id' " .
             "AND g.goods_type = a.cat_id " .
             "AND a.attr_type = 1".' ORDER BY a.attr_id';
     $attr_id_list = $GLOBALS['db']->getCol($sql);
     $res = $GLOBALS['db']->query($sql);
     while ($attr = $GLOBALS['db']->fetchRow($res))
     {
         if (defined('ECS_ADMIN'))
         {
             $attr['goods_attr_list'] = array(0 => $GLOBALS['_LANG']['select_please']);
         }
         else
         {
             $attr['goods_attr_list'] = array();
         }
         $attr_list[$attr['attr_id']] = $attr;
     }
     $sql = "SELECT attr_id, goods_attr_id, attr_value " .
             "FROM " . $GLOBALS['ecs']->table('goods_attr') .
             " WHERE goods_id = '$goods_id' " .
             "AND attr_id " . db_create_in($attr_id_list).' ORDER BY goods_attr_id';
     $res = $GLOBALS['db']->query($sql);
     while ($goods_attr = $GLOBALS['db']->fetchRow($res))
     {
         $attr_list[$goods_attr['attr_id']]['goods_attr_list'][$goods_attr['goods_attr_id']] = $goods_attr['attr_value'];
     }
     return $attr_list;
 }