dede点击量排名如何实时更新?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文

第一步:记录文章点击量

要让系统能统计点击量,首先需要在文章被点击时,更新该文章的点击次数,最常用的方法是在文章内容页 (article_article.htm) 模板中添加一个记录点击量的JS代码。

dede 点击量排名
(图片来源网络,侵删)

操作步骤:

  1. 打开文章内容页模板 登录你的 DedeCMS 后台,进入【模板】->【默认模板管理】->【文章模板】->【文章内容页模板】,找到并编辑 article_article.htm 文件。

  2. 添加JS代码<head></head> 标签之间,或者 </body> 标签之前,添加以下 JavaScript 代码,推荐放在 </body> 之前,这样不会影响页面主要内容加载。

    <script language="javascript" type="text/javascript">
    //点击量统计
    function dianji(){
        var url = "{dede:field name='phpurl'/}/click.php?aid={dede:field name='id'/}";
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }
    // 页面加载完成后执行点击统计
    window.onload = dianji;
    </script>
  3. 确保 click.php 文件存在 上面的代码会调用 /plus/click.php 文件,这个文件是 DedeCMS 自带的,用于处理点击量统计,通常位于网站的 plus 目录下,请确保这个文件存在并且没有被误删。

    dede 点击量排名
    (图片来源网络,侵删)
  4. 更新模板 保存并更新 article_article.htm 模文件,每当有用户访问一篇文章,click.php 就会被调用,该文章的点击次数就会在数据库中自动加 1。


第二步:创建点击量排名的调用标签

记录了点击量之后,我们就可以在首页、列表页等任何地方调用并显示一个点击量排行榜了,这需要修改相应的模板文件。

操作步骤:

  1. 准备模板文件 你可以在需要显示排行榜的页面(如首页 index.htm、栏目列表页 list_article.htm 等)中,添加一个用于显示排行榜的HTML结构,例如一个带有 iddiv

    dede 点击量排名
    (图片来源网络,侵删)
    <!-- 在首页模板 index.htm 的合适位置添加 -->
    <div class="hot-list">
        <h3>热门文章</h3>
        <ul>
            {dede:arclist row='10' titlelen='50' orderby='click'}
            <li>
                <a href="[field:arcurl/]">[field:title/]</a>
                <span>(点击:[field:click/])</span>
            </li>
            {/dede:arclist}
        </ul>
    </div>
  2. 使用核心标签 arclist 上面代码中的关键部分是 {dede:arclist} 标签,我们来详细解释它的几个重要属性:

    • row='10':表示调用 10 条文章记录。
    • titlelen='50'最多显示 50 个字符,超出部分用省略号表示(需要CSS配合)。
    • orderby='click'这是最关键的一步,它告诉 DedeCMS 按照 click(点击量)字段进行排序,默认是降序(从高到低)。
    • [field:arcurl/]:文章的链接地址。
    • [field:title/]:文章的标题。
    • [field:click/]:文章的当前点击量。
  3. 在首页调用(推荐) 最常见的做法是在首页显示一个全局的热门文章排行榜。

    • 打开首页模板文件 index.htm
    • 在你希望显示排行榜的位置(比如侧边栏),粘贴上面的 arclist 代码。
    • 保存并更新首页模板。
  4. 在栏目页调用 如果你只想在某个特定栏目下显示该栏目的热门文章,可以在该栏目的列表页模板(如 list_article.htm)中加入同样的代码,DedeCMS 会自动限定在该栏目内进行排序和调用。

  5. 更新缓存 修改完模板后,回到 DedeCMS 后台,点击【系统】->【一键更新网站】->【更新首页】和【更新栏目页】,让修改生效。


第三步:进阶与注意事项

如何按天/周/月统计点击量?

默认的 click 字段是累计总点击量,如果你需要统计“今日点击”、“本周点击”等,需要进行一些额外的设置。

方法:修改数据库和标签

  1. 修改数据库

    • 使用 phpMyAdmin 等工具登录你的数据库。
    • 找到 dede_archives(或你前缀下的 #@__archives)表。
    • 为该表添加新的字段,click_day (今日点击), click_week (本周点击), click_month (本月点击)。
    • 字段类型建议设置为 int(10) unsigned,默认值为 0。
  2. 修改 click.php

    • 打开 /plus/click.php 文件。
    • 找到更新点击量的SQL语句,将其修改为同时更新多个字段,这需要编写更复杂的PHP代码,根据当前日期来判断是增加 clickclick_day 还是 click_week 等。这部分需要一定的PHP编程基础。
  3. 修改调用标签

    • arclist 标签中,使用 orderby 属性指定新的字段名。
    • 要调用今日点击排行榜:{dede:arclist row='10' orderby='click_day'}

注意:按天/周/月统计功能比较复杂,需要对系统文件进行二次开发,不适合新手。

常见问题排查

  • 点击量不增加

    • 检查 article_article.htm 模板中是否正确添加了JS代码。
    • 检查 plus/click.php 文件是否存在。
    • 检查浏览器控制台 (F12) 是否有JS错误。
    • 确保文章的 click 字段在数据库中是数字类型。
  • 排行榜显示不正确

    • 检查 arclist 标签中的 orderby='click' 是否写对。
    • 确保模板已更新,并清除了浏览器缓存和DedeCMS的缓存。
    • 检查是否有其他插件或模板修改冲突。
  • 排行榜显示的文章不是我想要的

    • 检查 arclist 标签是否被 typeid 属性限定了栏目,如果不限,它会从全站调用,如果只想在某个栏目显示,加上 typeid='栏目ID'
功能 实现方法 关键点
记录点击量 article_article.htm 模板中添加JS代码,调用 plus/click.php window.onload = dianji;
调用总点击排名 使用 {dede:arclist orderby='click'} orderby='click' 是核心
调用今日点击排名 需要修改数据库和 click.php,增加 click_day 字段,然后用 orderby='click_day' 需要二次开发,较复杂

对于绝大多数用户来说,第一步和第二步已经足够满足“点击量排名”的需求,希望这个详细的教程能帮到你!

-- 展开阅读全文 --
头像
dede调用文章日期格式如何自定义?
« 上一篇 04-13
dede热门标签如何正确调用?
下一篇 » 04-13

相关文章

取消
微信二维码
支付宝二维码

目录[+]