当前位置:首页 > CMS教程 > ecshop > 列表

ecshop特价商品实现原理

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-08 15:55:08 浏览: 评论:0 

ecshop特价商品实现原理,这个功能是ecshop中十分重要的功能,实现这个特价功能,其实是很简单的,ECSHOP开发中心总结的方法是:首先我们看到在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该商品是否处于特价范围内.

  1. if ($row['promote_price'] > 0) 
  2.         { 
  3.             $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']); 
  4.             $goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : ''
  5.         } 
  6.         else 
  7.         { 
  8.             $goods[$idx]['promote_price'] = ''
  9.         } 

但是有一点,ecshop促销目前的调用,是调用的全站的产品,这个在资源消耗和性能上是存在问题的,特别在分类调用特价的时候,那么可能就是取得对应分类下面的特价产品,这个时候就必须要求我们按照分类规则,调用本分类下面特价商品,我们可以对程序进行以下修改.

  1. $children = get_children($cats); 
  2.  $where = ''
  3.  if($cats) { 
  4.      $where.=" and  ".$children
  5.  } 

取得ecshop分类所属id,进行操作,然后修改ecshop数据库的sql语句,达到完成检索的目的 " AND g.is_promote = 1 AND promote_start_date <= '$time' AND promote_end_date >= '$time' $where  ";

Tags: ecshop 原理 特价 商品

分享到: