使用默认的 click 标签(最常用、最简单)
这是 DedeCMS 内置的、最直接的方法,适用于绝大多数场景,尤其是在列表页(如首页、栏目页)和文章内容页。

在列表页(如 index.htm, list_article.htm)中调用
在列表页的循环标签 {dede:list} 或 {dede:arclist} 内部,使用 [field:click/] 即可。
示例代码:
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>点击:[field:click/] 次</span>
</li>
{/dede:list}
或者使用 页,调用当前文章的点击次数同样使用 示例代码: 如果你想在点击次数后面加上自定义的文字,或者对数字进行格式化(加上“万”),使用自定义函数会更灵活。 在 代码解释: 在模板文件中,使用 示例代码(在列表页或内容页): 示例代码(在内容页): 如果你需要在模板的 PHP 代码块或者一个特殊的位置获取点击次数,可以直接使用 PHP 代码查询数据库。 示例代码(在模板文件中): 注意: DedeCMS 的点击次数是通过一个名为 检查 JS 文件是否存在
在你的网站根目录下,必须存在 检查模板中的 JS 调用
在你的文章内容页模板( 检查后台设置
进入 DedeCMS 后台 -> 系统 -> 系统基本参数 -> 核心设置。 手动更新数据库
如果以上都正确,但数据就是不对,可以手动执行一次 SQL 来更新所有文章的点击数为 0,然后重新访问文章测试。
在后台的 系统 -> SQL命令行工具 中,输入以下 SQL 语句并执行: 执行后,去前台刷新几篇文章,看看点击数是否开始增加了。 对于 99% 的需求,方法一 已经足够,如果你需要更美观的显示,方法二 是最佳选择。arclist
{dede:arclist titlelen='40' row='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>点击:[field:click/] 次</span>
</li>
{/dede:arclist}
页(如
article_article.htm)中调用[field:click/]。
<h1>[field:title/]</h1>
<div class="info">
发布时间:[field:pubdate function="MyDate('Y-m-d H:i',@me)"/]
作者:[field:writer/]
来源:[field:source/]
点击次数:<strong>[field:click/]</strong> 次
</div>
使用自定义函数(灵活、可扩展)
创建自定义函数文件
include/extend.func.php 文件中(如果这个文件不存在,请自己创建一个),添加以下 PHP 函数代码:/**
* 格式化点击次数
* @param int $click 点击次数
* @return string 格式化后的字符串
*/
function GetClickFormat($click) {
if ($click > 10000) {
return round($click / 10000, 1) . '万';
} else if ($click > 1000) {
return round($click / 1000, 1) . 'k';
}
return $click;
}
GetClickFormat 接收一个点击次数 $click。在模板中调用自定义函数
{dede:field} 标签的 function 属性来调用你刚刚创建的函数。{dede:list}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>人气:{dede:field.click function='GetClickFormat(@me)'/}</span>
</li>
{/dede:list}
<div class="info">
...
点击次数:<strong>{dede:field.click function='GetClickFormat(@me)'/}</strong>
</div>
@me 是 DedeCMS 模板引擎中的一个特殊变量,代表当前字段的原始值,在这里就是 [field:click/] 的值。
手动获取点击次数(用于特殊布局或JS调用)
<?php
// 获取当前文章的ID
$aid = $arcID;
// 查询数据库获取点击次数
$dsql = new DedeSql(false);
$row = $dsql->GetOne("SELECT click FROM `dede_archives` WHERE id = $aid");
if (is_array($row)) {
$click_num = $row['click'];
echo "这篇文章的点击次数是:" . $click_num . " 次";
} else {
echo "文章不存在或无法获取点击次数";
}
$dsql->Close();
?>
重要补充:如何开启/更新点击次数?
plus 的 JavaScript 代码来统计和更新的,如果你的文章点击次数一直是 0,请检查以下几点:
plus/count.php 这个文件,这是统计点击的核心脚本,如果丢失了,可以从你的 DedeCMS 安装包里找回。article_article.htm)的 </body> 标签之前,必须有如下代码:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}"></script>
phpurl 会自动指向你的网站根目录下的 plus/ 文件夹。aid 是文章 ID,mid 是模型 ID,这些参数是必需的,用于 count.php 准确地更新数据库。
UPDATE dede_archives SET click = 0;
方法
适用场景
优点
缺点
[field:click/]列表页、内容页等常规场景
最简单、最直接,官方原生支持
功能单一,无法自定义格式
自定义函数
需要对点击数进行格式化、添加单位等
非常灵活,可扩展性强
需要修改PHP文件,对新手稍有门槛
PHP代码查询
特殊布局、JS调用、复杂逻辑
功能最强大,完全可控
破坏模板结构,代码可读性差,不推荐常规使用
