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

COS、CDN

为了优化帝国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 输出点击数。

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

COS、CDN
热门