帝国cms列表页模板动态获取文章内容点击数

为了优化帝国CMS在列表页动态获取文章点击数目的性能,并且避免页面加载缓慢的问题,你可以按照以下步骤进行操作:

  1. 修改HTML结构 在需要显示点击数的位置插入一个新的元素,并添加必要的数据属性。

    <em class="clicknum" data-class="[!--classid--]" data-id="[!--id--]">[!--onclick--]</em>
  2. 在页面尾部加入JS代码 在页面底部加入以下JS代码,用于异步加载点击数。

    <script>
        window.onload = function() {
            $('.clicknum').each(function(i) {
                var url = "[!--news.url--]e/public/ViewClick?&down=0&nojs=1&classid=" + $(this).attr("data-class") + "&id=" + $(this).attr("data-id");
                $(this).text(""); // 清空原有内容
                $.get(url, function(data) {
                    $(this).text(data);
                });
            });
        }
    </script>
  3. 修改源码 找到 /e/public/ViewClick/index.php 文件,并修改其中的代码。

    if ($_GET['nojs'] == 1) {
        echo $shownum;
    } else {
        echo "document.write('" . $shownum . "');";
    }

解释

  • HTML结构

    • <em class="clicknum" 元素用于显示点击数。
    • data-class 和 data-id 属性分别存储类ID和文章ID。
  • JS代码

    • window.onload 确保DOM完全加载后再执行脚本。
    • 使用 $.get 异步请求点击数,避免阻塞页面渲染。
    • $(this).text(data) 更新元素的内容。
  • PHP代码

    • 判断是否为异步请求(nojs=1),如果是,则直接返回点击数。
    • 否则,使用 document.write 输出点击数。

通过这些步骤,可以有效地优化页面加载速度,并动态获取文章点击数。

posted @   黄文Rex  阅读(34)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示