在DedeCMS中,首页和列表页模板动态调用文章浏览次数是一个常见需求,以下是详细的步骤和示例代码:
步骤一:复制并修改count.php文件
1、在DedeCMS根目录的/plus目录下找到count.php文件。
2、将count.php文件复制一份,命名为viewclick.php。
3、使用文本编辑器打开viewclick.php文件,删除以下几行代码:
if(!empty($maintable)) { $dsql>ExecuteNoneQuery(" UPDATE{$maintable}
SET click=click+1 WHERE {$idtype}='$aid' "); } if(!empty($mid)) { $dsql>ExecuteNoneQuery(" UPDATEdede_member_tj
SET pagecount=pagecount+1 WHERE mid='$mid' "); }
4、保存修改后的文件。
步骤二:在首页和列表页中调用浏览次数
1、在首页和列表页模板中需要调用浏览次数的地方添加以下代码:
<script src="[field:phpurl/]/viewclick.php?view=yes&aid=[field:id/]&mid=[field:mid/]" type='text/javascript' language="javascript"></script>
这段代码会动态加载浏览次数,实现实时刷新。
步骤三:优化体验
为了解决页面加载时的卡顿问题,可以采用以下方法:
1、在点击次数的位置用span标签定义一个点击次数:
<span id="countnum">0</span>次
2、修改Dede核心函数,找到plus/count.php中的以下代码:
echo "document.write('".$row['click']."');r ";
将其替换为:
echo 'document.getElementById("countnum").innerHTML='.$row['click'];'
3、在网页底部添加js代码:
<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>
这样就能完美解决载入浏览次数时卡顿的问题,提升用户体验。
相关问答FAQs
Q1:为什么首页和列表页的浏览次数不会自动更新?
A1:因为DedeCMS默认的浏览次数调用是静态的,只有在重新生成页面时才会更新,要实现动态更新,需要在模板中加入特定的JS代码来实时获取浏览次数。
Q2:如何避免因JS调用导致的页面卡顿问题?
A2:可以通过预加载一个固定的数字(如0),然后在页面完全加载后,通过JS代码更新实际的浏览次数,这样可以有效避免页面加载时的卡顿现象。
归纳以上内容,通过复制并修改count.php文件,并在首页和列表页模板中加入特定的JS代码,可以实现首页和列表页模板中文章浏览次数的动态调用,通过优化JS代码的加载方式,可以提升页面加载速度和用户体验。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1217119.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复