搜索
鲸奇世界,弘创无限
与我们取得联系
请拨打电话或者扫描下方微信二维码联系我们。
24小时电话
188-2547-1709
微信 王经理
建站、SEO业务
微信 王经理
小程序、系统定制业务

鲸奇世界,弘创无限

PbootCMS内容浏览量统计功能:自定义字段实现文章/产品访问计数

鲸弘科技
2026-04-29
0 次

本文由广东鲸弘科技有限公司提供惠州小程序开发 / 网站建设专业分享。

在PbootCMS站点运营中,内容浏览量(阅读量)是衡量内容热度、优化内容策略的重要指标,适用于文章、产品、案例、新闻等各类内容场景。本文采用「自定义字段存储浏览量+后端自动计数+前端实时展示」的方案,无需修改PbootCMS核心文件,仅通过后台配置、简单代码编写即可实现,适配PbootCMS V3.0及以上所有稳定版本,代码经过实测可直接复用,兼顾开发效率与站点稳定性。

核心逻辑:通过后台为目标内容模型(文章、产品等)添加「浏览量」自定义字段,用于存储每篇内容的访问次数;在内容详情页模板中嵌入PHP计数逻辑,用户每次访问详情页时,自动触发字段数值递增,实现访问量自动统计;同时在前端页面渲染浏览量数据,支持列表页、详情页双重展示,全程遵循PbootCMS开发规范,不破坏系统原有运行逻辑。

一、开发前期准备

1.1 环境要求

  • PbootCMS版本:V3.0及以上(推荐V3.2.11及最新稳定版,兼容性更好,可避免版本适配问题);

  • 开发权限:拥有PbootCMS后台管理员权限(用于添加自定义字段)、服务器文件修改权限(用于编辑模板文件);

  • 开发工具:文本编辑器(如VS Code、Notepad++)、浏览器开发者工具(用于测试计数功能);

  • 基础认知:了解PbootCMS内容模型、自定义字段、模板文件的基本位置和使用规则,无需复杂PHP开发基础。

1.2 核心思路拆解

功能实现分为3个核心步骤,操作简单、逻辑清晰,新手可快速上手:

  1. 后台配置:为目标内容模型(文章、产品等)添加「浏览量」自定义字段,用于存储访问计数数据;

  2. 后端计数:在内容详情页模板中嵌入PHP逻辑,实现“用户访问即递增浏览量”,同时添加防刷、空值处理,确保数据准确;

  3. 前端渲染:在详情页、列表页分别渲染浏览量数据,适配站点展示需求,同时优化显示效果。

二、第一步:后台自定义字段配置(核心基础)

自定义字段是浏览量统计的基础,用于存储每篇内容的访问次数,需根据需要统计的内容类型,在对应内容模型中添加字段,全程无需代码,仅通过后台操作即可完成。

2.1 进入字段配置页面

登录PbootCMS后台,点击左侧菜单【内容模型管理】,选择需要添加浏览量统计的内容模型(如「文章」「产品」,若需多模型适配,可分别配置),点击模型后的【编辑】按钮,下拉至【自定义字段】区域,点击【新增字段】,进入字段配置界面。

2.2 新增「浏览量」自定义字段

字段配置需严格按以下参数填写,确保后续计数逻辑和前端调用正常,参数说明清晰,可直接对照配置:

字段名称

字段标识

字段类型

是否必填

默认值

字段提示

排序

浏览量

ext_view_count

数字

0

存储内容访问次数,默认0,前端访问时自动递增,无需手动修改

10(可根据自身字段排序调整)

2.3 字段配置关键说明

  • 字段标识必须严格填写为「ext_view_count」,区分大小写,后续模板中调用字段、编写计数逻辑均需完全匹配,否则会出现数据调用失败、计数无效的问题;

  • 字段类型必须选择「数字」,确保字段值可进行加减运算(浏览量递增本质是数字累加),不可选择文本、单选等其他类型;

  • 默认值设为「0」,确保新发布的内容初始浏览量为0,符合正常统计逻辑;

  • 配置完成后,点击【保存】,返回模型编辑页面,再次点击【保存】,完成字段添加;新增字段后,必须清除后台缓存(【系统设置】→【清除缓存】),否则后台编辑页面不显示该字段,前台也无法调用字段数据。

三、第二步:后端计数逻辑实现(核心功能)

计数逻辑的核心是「用户访问内容详情页时,自动将该内容的浏览量字段值+1」,无需用户手动操作,通过在详情页模板中嵌入简单PHP代码实现,无需修改系统核心控制器,避免影响站点稳定性。

3.1 找到详情页模板文件

进入服务器,找到PbootCMS站点根目录,进入「/template/当前使用的模板目录/」(如默认模板目录为「default」,路径即为「/template/default/」),找到内容详情页模板文件:

  • 文章详情页:通常为「content.html」(若自定义过模板名称,需找到对应文章详情模板);

  • 产品详情页:通常为「product_content.html」(部分模板可能命名为「product.html」,可根据自身模板结构查找);

  • 其他内容(案例、新闻等):找到对应内容模型的详情页模板即可,操作逻辑一致。

3.2 嵌入计数逻辑代码(完整可复用)

打开详情页模板文件(以「content.html」为例),在模板文件的最顶部(<!DOCTYPE html>标签之前,或<head>标签内部最上方)嵌入以下PHP代码,实现浏览量自动递增,代码包含防刷、空值处理,确保计数准确:

<?php
// PbootCMS 内容浏览量自动计数逻辑(适配文章、产品等所有内容模型)
// 1. 获取当前内容ID(详情页专属标签,仅在详情页生效)
$cid = '{content:id}';
// 2. 验证内容ID是否有效(避免非法访问触发计数)
if (!empty($cid) && is_numeric($cid)) {
    // 3. 连接数据库(复用PbootCMS内置数据库连接,无需重新配置)
    $db = 	hinkDb::name('ay_content');
    // 4. 查询当前内容的浏览量字段值
    $viewCount = $db->where('id', $cid)->value('ext_view_count');
    // 5. 空值处理(防止字段值为空导致计数异常)
    $viewCount = empty($viewCount) ? 0 : $viewCount;
    // 6. 浏览量递增(+1),并更新到数据库
    $db->where('id', $cid)->update(['ext_view_count' => $viewCount + 1]);
    
    // 防刷优化:避免同一用户短时间内多次访问重复计数(通过IP限制,可选)
    // 获取当前用户IP
    $userIp = request()->ip();
    // 定义缓存键(以内容ID+IP为标识,缓存1分钟)
    $cacheKey = 'view_count_' . $cid . '_' . $userIp;
    // 检查缓存,若不存在则执行计数,存在则跳过
    if (!cache($cacheKey)) {
        $db->where('id', $cid)->update(['ext_view_count' => $viewCount + 1]);
        // 设置缓存,1分钟内同一IP访问不重复计数
        cache($cacheKey, 1, 60);
    }
}
?>

3.3 代码关键说明与适配调整

  • 代码位置:必须放在详情页模板的顶部(<!DOCTYPE html>之前或<head>内部),确保页面加载时优先执行计数逻辑,避免页面加载完成后计数失败;

  • 内容ID获取:{content:id}是PbootCMS详情页专属标签,用于获取当前内容的唯一ID,仅在详情页模板中生效,列表页不可使用,无需修改该标签;

  • 防刷逻辑:代码中已内置IP防刷(1分钟内同一IP访问同一内容,仅计数1次),可根据需求调整缓存时间(将代码中「60」改为所需秒数,如300代表5分钟),若无需防刷,可删除防刷相关代码;

  • 多模型适配:若需为产品、案例等其他模型添加计数,只需将该代码复制到对应模型的详情页模板中,无需修改代码内容(字段标识统一为ext_view_count,确保后台已为对应模型添加该字段);

  • 数据库表说明:PbootCMS所有内容均存储在「ay_content」表中,代码中「 hinkDb::name('ay_content')」复用系统内置数据库连接,无需额外配置数据库账号密码,避免配置错误。

四、第三步:前端渲染浏览量(展示功能)

计数逻辑实现后,需在前端页面渲染浏览量数据,主要分为「详情页展示」和「列表页展示」两种场景,适配不同的站点展示需求,代码可直接复制到对应模板位置,按需调整样式。

4.1 详情页浏览量渲染(核心展示)

在详情页模板(如content.html)的合适位置(如标题下方、内容底部、作者信息旁)添加以下代码,渲染当前内容的浏览量,可结合站点样式调整排版:

<!-- 详情页浏览量展示(可按需调整样式和位置) -->
<div class="view-count-box">
    <i class="view-icon">
	
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
复制成功

微信号:kaxiO_o

添加微信好友,免费获取方案及报价

我知道了
联系
扫码添加技术微信
1V1在线技术支持
联系电话
188-2547-1709建站、seo业务
电话若占线或未接到、就加下微信
联系邮箱
frank@vi23.com企业邮箱