帝国cms日点击,周点击,月点击排行榜现实插件每天,每周,每月自动清零无需手动和挂计划

帝国cms日点击,周点击,月点击排行榜现实插件每天,每周,每月自动清零无需手动和挂计划

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2024-08-13 10:45:10
文章简介

帝国CMS日/周/月点击排行榜插件,自动每日、每周、每月清零,省却手动操作与计划任务,高效展示热门内容。

  • 正文开始
  • 相关阅读
  • 推荐作品

附件内有修改好的文件和插件安装/卸载工具,真正实现傻瓜式操作,对于我们这种新手和小白非常友好
下载地址在文章最后
本章来讲一讲 官方默认只有总点击  无法现实帝国cms系统日、周、月点击量
而论坛上法的方法也只是多少天内的点击量     

打比方有一条文章是2024年7月5号发布的
论坛上是这样调用  7天内的文章热门

[e:loop={0,9,4,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}]
<li><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]

这样调也只能调发布时间之内的七天  超过七天就不显示文章了
也就是13号就不显示了

翻了以前的论坛记录也有人很久发布了新方法就是增加 日 、周、 月字段

不过清空点击量需要手动去点击   或者开着计划任务 挂后台  有点麻烦

下面我们改一下把他变成自动清零

数据库新增timeclick表  用来储存  当日时间(daytime)本周一时间(weektime)本月初一时间(monthtime)

在数据表中新增字段  dayclick  、monthclick  及  weekclick 这三个字段。选择字段类型为INT 长度7位足够了

原理:
判断timeclick表的当日时间(daytime)不等于今天就会执行
timeclick表的daytime字段更新成今日
并且ecms_news下的dayclick字段清零
反之不执行

以此类推 周、月 也是这样
彻底拜托双手真正实现自动化

********************     修改文件说明     ********************
修改文件/e/public/ViewClick/index.php

//浏览数
if($down==0)
{
    $r=$empire->fetch1("select onclick from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
    $shownum=$r['onclick']+1;
    if($_GET['addclick']==1)
    {
        $usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1 where id='$id' limit 1");
    }
}

替换成

//浏览数
if($down==0)
{
    $r=$empire->fetch1("select onclick from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
    $wr=$empire->fetch1("select * from {$dbtbpre}timeclick ");
    $shownum=$r['onclick']+1;
    $daytime=hRepPostStr($wr['daytime']);
    $weektime=hRepPostStr($wr['weektime']);
    $monthtime=hRepPostStr($wr['monthtime']);
    $time = time();
    $today = strtotime("today");//获取当天时间戳
    $lastmonday = strtotime('last monday', $time);// 获取本
周一的时间戳
    $dateTime = new DateTime();
    $dateTime->setTimestamp($time);
    $dateTime->setDate($dateTime->format('Y'), $dateTime->format('m'), 1);
    $dateTime->setTime(0, 0, 0);
    $monthday = $dateTime->getTimestamp();    // 获取当前月份第一天的时间戳
    if($daytime!=$today){
        $daytimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set dayclick=0");
        $todaysql=$empire->query("update {$dbtbpre}timeclick set daytime='".$today."'");
    }
    if($weektime!=$lastmonday){
        $weektimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set weekclick=0");
        $lastmondaysql=$empire->query("update {$dbtbpre}timeclick set weektime='".$lastmonday."'");
    }
    if($monthtime!=$monthday){
        $monthtimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set monthclick=0");
        $monthdaysql=$empire->query("update {$dbtbpre}timeclick set monthtime='".$monthday."'");
    }
    
    if($_GET['addclick']==1)
    {
        $usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1,dayclick=dayclick+1,weekclick=weekclick+1,monthclick=monthclick+1 where id='$id' limit 1");
    }
}

上传附件内的所有文件到根目录 

********************     插件目录说明     ********************
/e/extend/timeclick/               点击排行榜插件目录
                ├install/                   插件安装/卸载文件目录
                │├index.php           安装/卸载主文件
                │├install.php           安装插件文件
                │└uninstall.php       卸载插件文件
   

********************     插件调用说明     ********************
在需用调用排行榜的地方,排序使用 order by monthclick 或者 order by weekclick 、 order by dayclick即可。
dayclick--日点击
weekclick--周点击
monthclick--月点击

万能标签调用:

[ecmsinfo]0,10,32,0,3,1,0,'','dayclick DESC'[/ecmsinfo]

[ecmsinfo]"select * from [!db.pre!]ecms_news where checked=1 order by dayclick desc limit 10",10,32,0,24,1,0[/ecmsinfo]

灵动标签:

[e:loop={0,10,3,0,'','dayclick DESC'}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

[e:loop={select * from [!db.pre!]ecms_news where checked=1 order by dayclick desc limit 10',10,24,0,'','newstime DESC'}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]




即为默认表/news表下的审核通过文章以每天点击量排行

在内容模版需要点击量的地方添加实时显示点击数(显示+统计) 
调用动态<script src=[!--news.url--]e/public/ViewClick/?classid=[!--classid--]&id=[!--id--]&addclick=1></script>


本文章转自:https://www.yeskylog.com/cmsplugin/137.html 感谢作者分享

下面是附件:

帝国CMS按条件刷新信息内容页面中按照时间刷新不生效的解决方法
« 上一篇 2024年07月18日
帝国CMS图片附件上传管理页面默认图片选项勾选加水印和生成缩略图的方法
下一篇 » 2024年08月27日

如本文对您有帮助,就请墨鱼抽根烟吧!