在ecshop的商品列表页中,我们是没有让商品按人气或者说是点击量进行排序的,ecshop程序本身可以让商品按价格、上架时间、更新时间这个参数进行排序,但是很多实际需要的时候,我们需要对商品进行一个人气排序的功能的实现。
下面,我们就详细的说一下怎么进行二次开发来实现商品按点击量排序:
第一步:
打开category.php这个文件,找到这句代码:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update', 'click_count'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
我们把这句代码修改为:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
在代码中我们添加了一个变量 click_count,这个变量我们的表中有,所以我们不需要自己定义,直接调用就可以了。
现在,程序的部分就调用好了。
第二步:
打开我们的goods_list.lbi,在我们需要添加商品按人气排序的地方添加下边的代码:
<a href="{$script_name}.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=click_count&order=<!-- {if $pager.sort == 'click_count' && $pager.order == 'DESC'} -->ASC<!-- {else} -->DESC<!-- {/if} -->#goods_list">人气排列</a>
这样呢,就大功告成了。
相关文章