如何改变整站的积分规则

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



我想把整站的积分规则变成可以调的 应该怎么做啊 比如 输入1 全站赠送积分等于本店售价 输入2 全站积分等于2乘本店售价 本来我是在添加商品那里改的 后来一想不成 这么改以前录入的商品积分不会变,需要以前录入的商品积分一起变。后来又想给系统添加一个变量 然后当积分规则等于-1 的时候 在结算的时候就乘以这个变量,但我找了半天没找到把变量放哪里~大大们帮下忙吧~

function get_give_integral()
{
$sql = "SELECT SUM(c.goods_number * IF(g.give_integral > -1, g.give_integral, c.goods_price))" .
"FROM " . $GLOBALS['ecs']->table('cart') . " AS c, " .
$GLOBALS['ecs']->table('goods') . " AS g " .
"WHERE c.goods_id = g.goods_id " .
"AND c.session_id = '" . SESS_ID . "' " .
"AND c.goods_id > 0 " .
"AND c.parent_id = 0 " .
"AND c.rec_type = 0 " .
"AND c.is_gift = 0";

return intval($GLOBALS['db']->getOne($sql));
}
是这段代码吧?请问我这个变量怎么加啊?还是加别的地方?

回答:
修改为
  1. function get_give_integral()
  2. {
  3. $sql = "SELECT SUM(c.goods_number * g.give_integral * c.goods_price)" .
  4. "FROM " . $GLOBALS['ecs']->table('cart') . " AS c, " .
  5. $GLOBALS['ecs']->table('goods') . " AS g " .
  6. "WHERE c.goods_id = g.goods_id " .
  7. "AND c.session_id = '" . SESS_ID . "' " .
  8. "AND c.goods_id > 0 " .
  9. "AND c.parent_id = 0 " .
  10. "AND c.rec_type = 0 " .
  11. "AND c.is_gift = 0";

  12. return intval($GLOBALS['db']->getOne($sql));
  13. }
复制代码
然后 在后台设置赠送等级积分数: 是几就是几倍

首先谢谢齐迹 我以前也这么想过 但是这么改以前录入的商品积分是几还是几 是不会变的~我准备在商店设置里面自己加一个可输入数值的地方 在这个地方 我如果输入2了 那么全站的积分都是2倍了 包括以前已经录入的商品 请问应该怎么实现?

那就直接sql
update ecs_goods set give_integral=2
所有的就是2倍积分了

再次鞠躬感谢齐迹大大的帮助 这么做到是可以 但是影响了积分的一个灵活上的控制问题 比如 我想单独设置一个商品积分的话 又该怎么办呢?我想做的是既能改变整站的倍数 又可以单独对单个商品进行积分设置 要同时实现这两种

请问改的是那个文件,我怎么没找到呢?

lib_order.php这个页面