ECSHOP商品分类按推荐排序控制

2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家

很多朋友遇到这个问题,有时不希望新加的商品图片显示在首页,有些图片不够美观显示在首页会影响整体的效果,今天我们就分享一下ecshop开发之控制首页分类商品显示和排序,帮助大家解决难题。其实排序这个问题并不难解决:找到lib_goods.php 这个文件,找到function assign_cat_goods($cat_id, $num = 0, $from = 'web') 函数{    $children = get_children($cat_id);    $sql = 'SELECT g.goods_id, g.goods_name, g.market_price, g.shop_price AS org_price, ' .                "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".               'g.promote_price, promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, g.goods_img ' .  ecshop开发相关知识            "FROM " . $GLOBALS['ecs']->table('goods') . ' AS g '.            "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".                    "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".            'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND '.                'g.is_delete = 0 AND (' . $children . 'OR ' . get_extension_goods($children) . ') ' .            'ORDER BY g.sort_order DESC, g.goods_id DESC';}这里面的排序代码 'ORDER BY g.sort_order, g.goods_id DESC';desc是递减排序,而sql默认的是递增的,将'ORDER BY g.sort_order, g.goods_id DESC'修改为 'ORDER BY g.sort_order DESC, g.goods_id DESC';好了修改完代码,我们还需要修改一下首页需要显示商品的推荐顺序,假如你的首页商品分类都显示10个商品。就按照1,2,3,4,5,6,7,8,9,10排序就可以了。显示顺序也可以自己控制的哦!其他的设置为最小的数字(0)不变!只要大于等于1 的就显示在前面 默认为0(或者推荐排序值相同的)的按照上架顺序显示.ecshop开发实现首页特定分类商品显示就稍微复杂一些。在index.php中找到assign_dynamic('index');}$smarty->display('index.dwt', $cache_id);在其前面加上:$my_cat_rec_goods=array();    ecshop开发更多知识$children=get_children(2);$my_cat_rec_goods[2]=get_category_recommend_goods('hot', $children);//推荐商品$children=get_children(5);$my_cat_rec_goods[5]=get_category_recommend_goods('hot', $children);$children=get_children(253);$my_cat_rec_goods[253]=get_category_recommend_goods('hot', $children);$smarty->assign('my_cat_rec_goods', $my_cat_rec_goods);在模板的library目录下新建一个库文件rec_cat.lbirec_cat.lbi的主要内容:      

  • {$goods.name|escape:html}
  •                      ecshop开发更多知识在index.dwt中引用rec_cat.lb:     {assign var="my_rec_cat_id" value=2}                                             {assign var="my_rec_cat_id" value=5}                                             {assign var="my_rec_cat_id" value=253}       ecshop开发更多知识             这样就可以显示指定分类的推荐商品,ecshop开发并不是我们想的那么难,提高ecshop开发知识或者解决问题的能力最好的方法就是先尝试自己解决问题,这也是我学习的心得。