您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程

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

寻雁2024-01-16 22:33:26ecshop商城教程已有人查阅

导读很多朋友遇到这个问题,有时不希望新加的商品图片显示在首页,有些图片不够美观显示在首页会影响整体的效果,今天我们就分享一下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 ' .
"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();
$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.lbi
rec_cat.lbi的主要内容:
<!-- {if $my_cat_rec_goods[$my_rec_cat_id]} -->
<!--{foreach from=$my_cat_rec_goods[$my8ch_rec_cat_id] item=goods}-->
<li><a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"/></a></li>
<!--{/foreach}-->
<!-- {/if} --> 
在index.dwt中引用rec_cat.lb:
{assign var="my_rec_cat_id" value=2}
<!-- #BeginLibraryItem "/library/rec_cat.lbi" -->
<!-- #EndLibraryItem -->
{assign var="my_rec_cat_id" value=5}
<!-- #BeginLibraryItem "/library/rec_cat.lbi" -->
<!-- #EndLibraryItem -->
{assign var="my_rec_cat_id" value=253}
<!-- #BeginLibraryItem "/library/rec_cat.lbi" -->
<!-- #EndLibraryItem -->
这样就可以显示指定分类的推荐商品,ecshop开发并不是我们想的那么难,提高ecshop开发知识或者解决问题的能力很好的方法就是先尝试自己解决问题,这也是我学习的心得。

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

本栏推荐

相关标签