• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dede专题节点文章按id,点击等类型排序
    POST TIME:2020-04-02 21:39
    点评:使用dedecms弄一个专题,添加内容发现内容标题不是按照添加的id排序的,也不是按照id顺序排列的。感觉像是随机的
     
    按照 标题的id 降序排列。

    这个效果需要修改2 个php文件。

    第一步骤:
    1. 修改 includetaglibchannelspecialtopic.lib.php 文件

    2. 在第52行 处 有这行代码:

    $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'default', $keywords, $listTemplet, 0, $idlist,
    修改成:
    $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'asc', $keywords, $listTemplet, 0, $idlist,
    3. 保存文件结束

    第二步骤:
    1.修改includetaglibarclist.lib.php

    2. 大约在196行处。有这行代码:

    //文档排序的方式
    $ordersql = '';
    if($orderby=='hot' || $orderby=='click') $ordersql = " order by arc.click $orderWay";
    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " order by arc.sortrank $orderWay";
    else if($orderby == 'id') $ordersql = " order by arc.id $orderWay";
    else if($orderby == 'near') $ordersql = " order by ABS(arc.id - ".$arcid.")";
    else if($orderby == 'lastpost') $ordersql = " order by arc.lastpost $orderWay";
    else if($orderby == 'scores') $ordersql = " order by arc.scores $orderWay";
    else if($orderby == 'rand') $ordersql = " order by rand()";
    //增加 开始
    else if($orderby == 'asc') $ordersql = " order by arc.id asc";
    //增加 结束
    else $ordersql = " order by arc.sortrank $orderWay";

    3. 修改结束

    下面再给一个实现方法

    1、找到 include/taglib//channel/specialtopic.lib.php
    2、将 require_once(DEDEINC.'/taglib/arclist.lib.php'); 换成 require_once(DEDEINC.'/taglib/arclist.lib2.php');
    3、复制arclist.lib.php 改名成 arclist.lib2.php
    然后修改arclist.lib2.php
    查找$order='desc' 替换成 $orderby='id'

    仿站关于是升序还是降序排列只需要
    查找$orderWay = AttDef($order,'desc'); 替换成 $orderWay = AttDef($order,'asc');

    想调用以下参数,只需要按着修改就行
    § orderby='hot' 或 orderby='click' 表示按点击数排列
    § orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
    § orderby='near'
    § orderby=='lastpost' 按最后评论时间
    § orderby=='scores' 按得分排序
    § orderby='id' 按文章ID排序
    § orderby='rand' 随机获得指定条件的文档列表

    对于dedecms 5.1的版本

    id排序增加功能更
    include/inc/.inc_fun_SpFullList.php

    //文档排序的方式
    $ordersql = "";
    if($orderby=='rand') $ordersql = " order by rand()";
    else if($orderby=='click'||$orderby=='hot') $ordersql = " order by arcf.click desc";
    else if($orderby=='digg') $ordersql = " order by arcf.digg desc";
    else if($orderby=='diggtime') $ordersql = " order by arcf.diggtime desc";
    else $ordersql=" order by arcf.aid desc";
    // 2013年针对专题id列表所加功能
    if($idlist!=''){
    $ordersql = " order by find_in_set(arcf.aid,'$idlist')";
    }

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!