相信很多设计者在设计模板时候都想在网站加入阅读量,或者页面加入站点总浏览量,使用ECMS可以简单高效的显示这两项参数,使用示例如下:
# 显示文章阅读数,模板语法: <!--count_pv:A{$article_data['id']}--> 调用示例: <span class="post-date">阅读:<!--count_pv:A{$article_data['id']}-->次</span> # 显示站点总浏览量,模板语法: <!--count_pv:S0--> 调用示例: <span class="post-date">受访<!--count_pv:S0-->次</span>
为什么说ECMS-API可以让站点高效统计PV,对性能影响可以忽略,请看开发者日志:
/** * 阅读量统计类 * 数据字段: * sn:统计对象编号,A文章、G商品、P单页面、S站点(整站全局PV) * last_pv:统计对象上次提交时的pv数值,若为0则从对象数据源提取 * temp_pv:尚未提交的pv数值 * utime:pv更新时间,超过指定周期未更新则提交数据到对象表,然后清理-回收资源 * 计算公式:pv = last_pv + temp_pv * 存储规则: * 当临时pv数值达到某个阈值n(10-100)则提交到对应统计对象数据表,表示pv为n的整数倍触发提交操作; * 统计对象数据表存储最终数据,用于进行热门数据排序; * 全局pv采用站点设定项进行永久存储; * 读取规则:数据读取缓存时间阈值随机范围10~20秒 * 调用语法: * 模板语法:EsiteApp::count_pv('$sn'); # 此方式在服务器html缓存刷新时候才能看到最新pv数据 * 固定标签:<!--count_pv:$sn--> # 此方式加载实时pv数据-不受服务器html缓存影响 * $sn=A1 # 表示读取文章ID=1的pv数据 * $sn=G1 # 表示读取商品ID=1的pv数据 * $sn=P1 # 表示读取单页ID=1的pv数据 * $sn=S0 # 表示读取整站全局的pv数据 */
当然,若您也是一位开发者,对此统计算法有更好的建议,也可以邮件与我们沟通。