商品属性排序的问题

2016-07-07 15:13 来源:www.chinab4c.com 作者:ecshop专家

情况一:添加新产品时,让属性按照添加的顺序(属性id)排列
修改/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';
$res = $GLOBALS['db']->getAll($sql);

情况二:在复制商品时属性排序跟原商品相反到处理
修改/inclues/lib_goods.php
/**
* 取得商品属性
* @paramint$goods_id商品id
* @returnarray
*/
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;
}

回答:
补充:上面说的是同一属性里属性值的排序

非常以及极其之需要,帮我解决了大问题,非常感谢!!!

人才啊,果然。严重支持~


—————————————————————————————————————————————————————
新建EC网站技术交流群,资源共享,技术互补,共同进步,群共享已经上传很多网站应用的资源。欢迎大家的加入。
群号:72495108

楼主很强大,但2楼复制商品时的排序问题依然存在。

添加完商品后,再点击编辑,属性,发现排序仍然按之前的价格首位排序(3排在10的后面),不过应用了1楼的方法后,前台显示是正确的按顺序排列。

但是,问题出在当复制这个商品时,后台排序依旧混乱,前台也依照后台排序显示,即是说2楼的方法好像没有生效。

请高手审查。

选项排序怎么弄?

楼主很厉害,感谢分享。

楼主很厉害,感谢分享。

顶,超级分享~!

这个超级的好东西

现在前台是按后台属性来排的,只是后台属性改不了。奇怪的说。目前这方法只是解决了前台的问题。后台排序修改没有真正能解决。

学习了。