·您当前的位置:主页 > 技术教程 > PHP教程 >

[php]dedecms织梦标签列表排序问题

时间:2017-03-15 14:41酷播
[php]dedecms织梦标签列表排序问题

解决织梦CMS(DedeCms)TAG列表按最新发布时间排序,可以有效把最新的TAG提供给用户和搜索引擎。

解决方法:
如今,搜索引擎对TAG十分重视,我自己做的网站tag页面被收录的也有不了,也能带来些流量,解决织梦CMS(DedeCms)TAG列表按最新发布时间排序,可以有效把最新的TAG提供给用户和搜索引擎。

解决方法:

织梦CMS的目录下,/include目录下找到arc.taglist.class.php文件,查找代码:

  1. $this->dsql->SetQuery("Select aid From `xxxx_taglist` where tid = '{$this->TagInfos['id']}' And arcrank>-1 limit $limitstart,$getrow");  

修改为:

  1. $this->dsql->SetQuery("Select aid From `xxxx_taglist` where tid = '{$this->TagInfos['id']}' And arcrank>-1 order by aid desc limit $limitstart,$getrow ");  

说明:早些版本的cuplayer_taglist是dede_taglist。修改之后,TAG列表排列顺序就会以文章最新发布时间排列了。

另外一种解决方法:

下面是dede:arclist的修改方法

1、在织梦系统中找到以下目录\include\taglib中的arclist.lib.php文件并打开

   大约在74 、75行找到:

      // arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y"
    $isweight = $ctag->GetAtt('isweight');

把这行修改为:

  $weight = $ctag->GetAtt('weight');

大约在327行找到,并修改

    //文档排序的方式
    $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 == 'weight') $ordersql = "  order by arc.weight asc";//插入这句 从小到大

    else $ordersql = " ORDER BY arc.sortrank $orderWay";

然后用orderby='weight'

保利威视云直播提供稳定流畅,高画质,低延迟的直播服务

酷播云服务,酷播云