织梦可以很简单的统计文章的点击次数因为它有内置的统计函数,那么我要统计栏目的点击次数呢?我就想知道哪个栏目被点击的多怎么办呢?今天来说下具体方案。
首先想要统计栏目的点击次数必须要三点,第一点:在数据库中插入一个字段用来存储点击数,第二点:自定义一个标签用来获取点击数:第三点:制作一个POST请求用来导入点击数,只要完成这三点就可以啦。
第一步:在数据库“dede_arctype”表中插入一个字段“fclick”;
ALTER TABLE dede_arctype ADD fclick mediumint(8) NOT NULL Default 0
第二步:定义一个函数用来在模板文件中调用,比如typeurl就是栏目地址,tipename就是栏目名称,我们要的是栏目点击数“[field:fclick /]”;
打开根目录下的“include”/“taglib”/“channel.lib.php”文件,
分别查找以下四个代码:
if($type=='top')
else if($type=='son')
else if($type=='self')
if($type=='son' && $reid!=0 && $totalRow==0)
然后分别在查找的四个代码的下方都有像下面这样的代码:
SELECT id,
在id,后面加上fclick,(注意标点符号)完整代码如下:
$sql = "SELECT id,fclick,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,fclick FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
紧接着再查找如下代码:
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
在其下面加入如下代码:
$linkOkstr = str_replace("~fclick~",$row['fclick'],$linkOkstr);
至此获取栏目点击数就完成了,在模板中调用的代码如下:
{dede:channel row='6' type ='son' typeid ='1' } <a js-data-id="[field:id /]" href="[field:typeurl/]" title='[field:typename /]:[field:description /] 共点击([field:fclick /])次。'>[field:typename/]</a> {/dede:channel}
这里要注意的是“fclick”标签我只在“channel.lib.php”中作了修改所以只能在{dede:channel}循环中有用,如果想在{dede:type}中也有效自行修改即可。