[php]dedecms织梦标签列表排序问题
解决织梦CMS(DedeCms)TAG列表按最新发布时间排序,可以有效把最新的TAG提供给用户和搜索引擎。
解决方法:
如今,搜索引擎对TAG十分重视,我自己做的网站tag页面被收录的也有不了,也能带来些流量,解决织梦CMS(DedeCms)TAG列表按最新发布时间排序,可以有效把最新的TAG提供给用户和搜索引擎。
解决方法:
织梦CMS的目录下,/include目录下找到arc.taglist.class.php文件,查找代码:
- $this->dsql->SetQuery("Select aid From `xxxx_taglist` where tid = '{$this->TagInfos['id']}' And arcrank>-1 limit $limitstart,$getrow");
修改为:
- $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'
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码