织梦dedecms首页、列表页、文章页文章点击浏览次数实时调用方法
首先呢,先在根目录 /plus 目录下找到count.php 复制一份然后命名为viewclick.php(你也可以命名为你容易理解的名字)用编辑器将viewclick.php打开然后删除以下几行代码(即插入数据库的这两行)
if(!empty($maintable))
{
$dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET click=click+1 WHERE {$idtype}='$aid' ");
}
if(!empty($mid))
{
$dsql->ExecuteNoneQuery(" UPDATE `dede_member_tj` SET pagecount=pagecount+1 WHERE mid='$mid' ");
}
然后保存,后面列表页要用到。
现在开始从文章页说起~
使用DedeCMS建站时,在文章页调用文章浏览次数的标签是:
{dede:field.click/}(底层标签则为[field:click/])
这个标签调用的是静态浏览次数,刷新或点击后不会改变(只有后台重新生成后才会改变),用户体验十分差。
网上有解决方法,即把调用标签换为(若是底层标签请做相应修改):
<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>
这样一来就能实现动态调用文章浏览次数,刷新一次增加一次,但是因为这里是js调用,每次都要向服务器请求一次,这里的标签是及时加载,到这里肯定会卡顿。
下面是解决方案。
具体的思路为:我们可以先自定义一个数字(可以定义为0)。当网页先进行加载时,是加载我们事先预定好的数字,然后通过网页最后的加载JS调用真正的点击次数。具体步骤为:
1、在点击次数的位置用span标签定义一个点击次数
<span id="countnum">0</span>次
2、修改Dede核心函数,找到 plus/count.php中,大概在49行(倒数第四行),
echo "document.write('".$row['click']."');\r\n";
换成
echo 'document.getElementByIdx_x_x_x_x_x("countnum").innerHTML='.$row['click'];
3、在网页底部添加js代码
把js添加在网页底部就能完美解决载入浏览次数时卡顿的问题用用体验很好,至此,就实现了文章页动态调用文章浏览次数。
<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" t
文章页到此为止~
************************************
那列表页和首页又如何联动调用呢?
此时我们的首页就可以直接使用{dede:field.click/}(底层标签则为[field:click/])来调用浏览次数;
列表页则用 (此为底层调用,若是非底层请做相应修改)来调用
<script src="[field:phpurl/]/viewclick.php?view=yes&aid=[field:id/]&mid=[field:mid/]" type='text/javascript' language="javascript"></script>
***提示:此调用方法还可以加入到文章页的其他需要调用点击浏览次数的列表中(比如相关推荐~)***
织梦dedecms首页、列表页、文章页文章点击浏览次数实时调用方法的更多相关文章
- 织梦dedecms首页/列表页/内容页调用tag的方法(未测试)
织梦dedecms首页/列表页/内容页调用tag的方法 在网站中tag是网站搜索相关文章的联系之一,也可以有专门的tag页面,在不同的页面也可以调用tag,而不是只有在首页和列表页才可以调用tag,这 ...
- 织梦DEDECMS 首页列表页内容也时间日期调用标签
DEDECMS利用strftime()函数格式化时间的所有参数详解,包括年份日期进制.小时格式等,大家收藏吧,呵. 日期时间格式 (利用strftime()函数格式化时间)0 dedecms首页时间标 ...
- 织梦DedeCMS首页调用单页文档内容的方法
很多使用织梦dedecms单页文档功能的朋友都想知道如何在织梦首页调用单页文档的内容,下面就教大家具体的实现方法: 具体步骤如下: 首先在首页模板需要显示单页文档内容的地方插入如下代码: {dede: ...
- 织梦DEDECMS更换目录后页面内的图片和缩略图无法显示解决方法
http://www.win8f.com/seoyouhua/6609.html 很多人碰到织梦更换目录后内容图片和缩略图无法显示的问题,在此,慧鸿网络特地搜集整理了一篇关于织梦出现缩略图和内容无法显 ...
- 织梦DEDEcms首页调用文档整篇内容
DedeCMS在首页调用内容页中的整篇文章 织梦程序是一个很强大的程序,也有很多朋友使用织梦程序来做博客,想要像是在博客中一样能在首页中调用一整篇文章,其实在织梦程序中页可以很完美的实现这个功能. 在 ...
- 织梦dedecms自由列表的"不使用目录默认主页"错误修正
站长用织梦做站时常常发现织梦自由列表有个致命的问题: 即修改"不使用目录默认主页"就永远不会自己勾选啦 打开这个文件 makehtml_freelist_action.php 搜索 ...
- 织梦dedecms 自带采集的缩略图地址后面有“/”斜杠的解决方法
本来想偷懒在网上找一些文档去解决织梦采集缩略图地址带“/”的问题的,可是找了找发现没有人写出解决方法,只好自己动手了. 过程很复杂,找了问题的原因也是找了半天,自己一点一点的测试.最后找到了问题所在. ...
- 织梦dedecms分类信息模型上一页下一页失效办法
修改文件/include/arc.archives.class 将一下代码 $next = (is_array($nextR) ? " where arc.id={$nextR['id']} ...
- 织梦DedeCMS栏目列表常见序号的调用标签
我们在制作dedecms模板时,源代码中的[field:global name=autoindex/]标签很好用可以调用数字序号,此标签最简单的用法就是按内容条数来获取数字序号,但有的时候发现使用该标 ...
随机推荐
- SpringBoot整合sa-token,完成网站权限验证
sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架,其API调用非常简单,有多简单呢?以登录验证为例,你只需要: // 在登录时写入当前会话的账号id StpUtil.s ...
- codeforces 1451D,一道有趣的博弈论问题
大家好,欢迎来到codeforces专题. 今天选择的问题是Contest 1451场的D题,这是一道有趣简单的伪博弈论问题,全场通过的人有3203人.难度不太高,依旧以思维为主,坑不多,非常友好. ...
- VUE项目性能优化实践——通过懒加载提升页面响应速度
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近我司因业务需求,需要在一个内部数据分析平台集成在线Excel功能,既然我 ...
- Flutter 应用入门:计数器
用Android Studio创建的Flutter应用模板默认是一个简单的计数器示例. // 导入包 import 'package:flutter/material.dart'; // 应用入口,启 ...
- Mybatis的CRUD 增删改查
目录 namespace 命名空间 select insert update delete Mybatis 官网: https://mybatis.org/mybatis-3/zh/getting-s ...
- char什么时候会用空格进行填充?
char什么时候会用空格进行填充?
- Ubuntu16.04安装MySQL8.0
1.Ubuntu换源(阿里云) sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vi /etc/apt/sources.list ...
- Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)
1.简介 在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一 ...
- Linux下nginx的安装以及环境配置
参考链接 https://blog.csdn.net/qq_42815754/article/details/82980326 环境: centos7 .nginx-1.9.14 1.下载 并解压 ...
- Django中多表关联的展示问题:
增加一个知识点,当表中有多对多关联时,在前端展示的时候是一个列表,所以在展示的时候需要这样做: 表结构: class ProjectEnv(models.Model): project = model ...