织梦可以很 简单的统计文章的点击次数因为它有内置的统计函数,那么我要统计 栏目的点击次数呢?我就想知道哪个栏目被点击的多怎么办呢?今天来说下具体方案。
首先想要统计栏目的点击次数必须要三点,
第一点:在 数据库中插入一个字段用来存储点击数,
第二点:自定义一个 标签用来获取点击数:
第三点: 制作一个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)
|
然后分别在查找的四个代码的下方都有像下面这样的代码:
在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}中也有效自行修改即可。
(责任编辑:admin) |