ecshop category.php页面的自定义排序
category.php页面,有其默认的排序方式,但是现在要实现的排序方式:
首页广告位的产品链接地址:category.php?id=3&gid=4(id,是分类ID默认的;gid,是自定义增加的,产品的ID),点击链接进入category.php页面,排序方式为:产品ID为4的排在第一位,其余产品按照默认的排序方式排序。
实现步骤:
1、打开:category.php,修改:
1、查找如下代码:
/* 获得请求的分类 ID */
if (isset($_REQUEST[‘id’]))
{
$cat_id = intval($_REQUEST[‘id’]);
}
elseif (isset($_REQUEST[‘category’]))
{
$cat_id = intval($_REQUEST[‘category’]);
}
else
{
/* 如果分类ID为0,则返回首页 */
ecs_header(“Location: ./\n”);exit;
}在下面添加:
/* 接受产品ID */
if(isset($_REQUEST[‘gid’]))
{
$nowStororder = “g.goods_id=”.intval($_REQUEST[‘gid’]).” desc,”;
}
else
{
$nowStororder = “”;
}2、查找:
$default_sort_order_type = $_CFG[‘sort_order_type’] == ‘0’ ? ‘goods_id’ : ($_CFG[‘sort_order_type’] == ‘1’ ? ‘shop_price’ : ‘last_update’);
修改为:
$default_sort_order_type = $_CFG[‘sort_order_type’] == ‘0’ ? ”.$nowStororder.’goods_id’ : ($_CFG[‘sort_order_type’] == ‘1’ ? ‘shop_price’ : ‘last_update’);
2、首页的广告位添加链接地址的时候要手动,复制当前栏目地址然后将重点推广的产品的ID写在后面,如:category.php?id=(分类ID)&gid=(产品ID)
PS:$nowStororder,添加这个变量的目的,是为了避免在gid为空的时候出错。
OK!问题解决。
相关知识链接:sql 按照某一个指定的值排序