西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

修改ecshop随机显示产品分类页面下的产品

时间:2011-11-18 11:15来源:未知 作者:好模板 点击:
实现ecshop分类下随机显示商品,打破后台规定的按照上架时间,价格、等先后顺序排序,让很多人上传完毕产品,第一页总是显示同类商品,如何修改ecshop随机显示产品分类页面下的产

 实现ecshop分类下随机显示商品,打破后台规定的按照上架时间,价格、等先后顺序排序,让很多人上传

完毕产品,第一页总是显示同类商品,如何修改ecshop随机显示产品分类页面下的产品,好模板告诉你方法:

 

1、下载ecshop并备份你的根目录下的文件category.php文件

2、找到如下代码部分,大约在450行:

 

  1. /* 获得商品列表 */ 
  2.     $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ‘ . 
  3.                 “IFNULL(mp.user_price, g.shop_price * ‘$_SESSION[discount]‘) AS shop_price, g.promote_price, g.goods_type, ” . 
  4.                 ‘g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ‘ . 
  5.             ‘FROM ‘ . $GLOBALS['ecs']->table(‘goods’) . ‘ AS g ‘ . 
  6.             ‘LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘member_price’) . ‘ AS mp ‘ . 
  7.                 “ON mp.goods_id = g.goods_id AND mp.user_rank = ‘$_SESSION[user_rank]‘ ” . 
  8.             “WHERE $where $ext ORDER BY $sort $order”; 

 

替换修改为

 

  1. $zz=1
  2.     $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ‘ . 
  3.                 “IFNULL(mp.user_price, g.shop_price * ‘$_SESSION[discount]‘) AS shop_price, g.promote_price, g.goods_type, ” . 
  4.                 ‘g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ‘ . 
  5.             ‘FROM ‘ . $GLOBALS['ecs']->table(‘goods’) . ‘ AS g ‘ . 
  6.             ‘LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘member_price’) . ‘ AS mp ‘ . 
  7.                 “ON mp.goods_id = g.goods_id AND mp.user_rank = ‘$_SESSION[user_rank]‘ ” . 
  8.             “WHERE $where $ext”; 
  9. $sql .= $zz == 0 ? ” $order” : ” ORDER BY RAND()”; 

 

即可实现ecshop分类下的产品随机显示了,但是前提是,到后台清空缓存来实现,不能每次刷新都随机,否

则服务器会受不了的,这样就实现了和首页精品、新品、促销等栏目同样的功能。

通过ecshop清空缓存来实现产品的随机,随机显示竟然会占用服务器过多资源。所以不建议这样优化!

 

(责任编辑:好模板)
顶一下
(4)
80%
踩一下
(1)
20%
------分隔线----------------------------