请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

ecshop特价商品实现原理

ecshop特价商品实现原理,这个功能是ecshop中十分重要的功能。实现这个特价功能,其实是很简单的,模板之家技术中心(www.mb5.com.cn)总结的方法是:首先我们看到在ecshop的后台,商品管理里面,我们在编辑ecshop商品信息的时候,可以设置比ecshop商品价格更加实惠的价格,那就是ecshop特价,还可以设置特价的开始和结束时间。这样就让我们很方便的控制ecshop促销时间段。
     首先我们看ecshop的特价商品的数据检索条件。 g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ' .
            " AND g.is_promote = 1 AND promote_start_date <= '$time' AND promote_end_date >= '$time'
     这表明必须在促销时间段内,而且必须是设置了特价,而且在线销售的产品。然后通过时间段的区域判断,来决定ecshop该商品是否处于特价范围内。
     if ($row['promote_price'] > 0)
        {
            $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']);
            $goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
        }
        else
        {
            $goods[$idx]['promote_price'] = '';
        }
    但是有一点,ecshop促销目前的调用,是调用的全站的产品,这个在资源消耗和性能上是存在问题的。特别在分类调用特价的时候,那么可能就是取得对应分类下面的特价产品,这个时候就必须要求我们按照分类规则,调用本分类下面特价商品,我们可以对程序进行以下修改。
   $children = get_children($cats);
    $where = '';
    if($cats) {
        $where.=" and  ".$children;
    }
   取得ecshop分类所属id,进行操作。然后修改ecshop数据库的sql语句,达到完成检索的目的 " AND g.is_promote = 1 AND promote_start_date <= '$time' AND promote_end_date >= '$time' $where  ";
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

    热门帖子
  • 精华
  • 新帖
快速回复 返回顶部 返回列表