欢迎来到入门教程网!

dedecms

当前位置:主页 > CMS教程 > dedecms >

dedecms按文档标签(TAG)数目排序的方法

来源:本站原创|时间:2021-08-05|栏目:dedecms|点击:

今天AB网站模板网下午写了个dedecms的标签云效果,但是发现无论如何都不能按照sort = 'hot'进行排序(我的意思想按照包含此tag的文章数目进行降序排序),我想查看下5.5模板参考手册.发现没有模板标签参考手册只有5.3的,查看了下手册,发现手册中是这样说的:Quote:tag|TAG调用 
标签名称:tag 
功能说明:TAG调用标签 
适用范围:全局使用 
基本语法: 
 
{dede:tag sort='new' getall='0'} 
<a href='[field:link/]'>[field:tag /]</a> 
{/dede:tag} 
 
相关函数: 
文件\include\taglib\tag.lib.php第4行 
function lib_tag(&$ctag,&$refObj) 
参数说明: 
row='30' 调用条数 
sort='new' 排序方式 month,rand,week 
getall='0' 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记 
底层模板字段: 
没有sort = ‘hot’ 这个属性。于是查看了下dedecms 5.3 的tag标签解析文件发现有如下几句代码: 
 
if($ltype=='rand') $orderby = ' rand() '; 
else if($ltype=='week') $orderby=' weekcc desc '; 
else if($ltype=='month') $orderby=' monthcc desc '; 
else if($ltype=='hot') $orderby=' count desc '; 
else $orderby = ' addtime desc '; 
 
这段代码就是决定排序方式的判断语句 ,因为你读着段代码上边有一句 $ltype = $sort; ,可知是把$sort的值赋给$ltype,其中这句
 
else if($ltype=='hot') $orderby=' count desc '; 
表示sort = ‘hot’方式排序 ,从数据库中读取的时候是按照count字段进行降序排列的,然而你再查看下数据表中dede_tagindex表,发现count字段的值全部为零,不知道为何全部为零,我估计count是记录tag点击次数的。此表中还有一个字段是total,这个的值表示包含这个tag的文章数目有多少,我想有些人想按照包含tag文章数目多少来为tag排序吧,反正我是这么想的,我我认为这样对seo很有帮助,主要是dede的tag在百度中权重很高,所以我觉得可以在
 
else if($ltype=='hot') $orderby=' count desc ';
 
后边加
 
else if($ltype=='num) $orderby=' total desc ';
 
代码 ,在模板中就可以用sort=‘num’ 来进行排序,表示按照包含tag的文章数目进行排序了。
 

上一篇:织梦如何让自定义php文件支持全局标签

栏    目:dedecms

下一篇:dedecms教程:缩略图不加水印 文章页图片加水印的方法

本文标题:dedecms按文档标签(TAG)数目排序的方法

本文地址:https://www.xiuzhanwang.com/a1/dedecms/16437.html

更多dedecms

您可能感兴趣的文章

阅读排行

本栏相关

随机阅读

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有