ecshop特价商品实现原理
2013-05-22 23:20 来源:www.chinab4c.com 作者: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该商品是否处于特价范围内。
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 ";
来源:http://www.chinab4c.com
最近更新
常用插件
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...