织梦DedeCMS优化文章模版里的“顶一下”与“踩一下”样式

news/2025/3/19 5:25:12/

测试的版本5.7.1UTF-8

一、插入<head>Js代码

将下面代码插入到文章模版里的<head>标签里

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
function CheckLogin(){var taget_obj = document.getElementById('_ajax_feedback');myajax = new DedeAjax(taget_obj,false,false,'','','');myajax.SendGet2("{dede:global.cfg_cmsurl/}/member/ajax_feedback.php");DedeXHTTP = null;
}
function postBadGood(ftype,fid)
{var taget_obj = document.getElementById(ftype+fid);var saveid = GetCookie('badgoodid');if(saveid != null){var saveids = saveid.split(',');var hasid = false;saveid = '';j = 1;for(i=saveids.length-1;i>=0;i--){if(saveids[i]==fid && hasid) continue;else {if(saveids[i]==fid && !hasid) hasid = true;saveid += (saveid=='' ? saveids[i] : ','+saveids[i]);j++;if(j==10 && hasid) break;if(j==9 && !hasid) break;}}if(hasid) { alert('您刚才已表决过了喔!'); return false;}else saveid += ','+fid;SetCookie('badgoodid',saveid,1);}else{SetCookie('badgoodid',fid,1);}myajax = new DedeAjax(taget_obj,false,false,'','','');myajax.SendGet2("{dede:field name='phpurl'/}/feedback.php?aid="+fid+"&action="+ftype+"&fid="+fid);
}
function postDigg(ftype,aid)
{var taget_obj = document.getElementById('newdigg');var saveid = GetCookie('diggid');if(saveid != null){var saveids = saveid.split(',');var hasid = false;saveid = '';j = 1;for(i=saveids.length-1;i>=0;i--){if(saveids[i]==aid && hasid) continue;else {if(saveids[i]==aid && !hasid) hasid = true;saveid += (saveid=='' ? saveids[i] : ','+saveids[i]);j++;if(j==20 && hasid) break;if(j==19 && !hasid) break;}}if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }else saveid += ','+aid;SetCookie('diggid',saveid,1);}else{SetCookie('diggid',aid,1);}myajax = new DedeAjax(taget_obj,false,false,'','','');var url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action="+ftype+"&id="+aid;myajax.SendGet2(url);
}
function getDigg(aid)
{var taget_obj = document.getElementById('newdigg');myajax = new DedeAjax(taget_obj,false,false,'','','');myajax.SendGet2("{dede:global.cfg_phpurl/}/digg_ajax.php?id="+aid);DedeXHTTP = null;
}
-->
</script>

二、插入<body>html+Js代码

1、下面代码插入到模版页里的<body>里

<div class="自定义样式" id="newdigg"></div>
<script language="javascript" type="text/javascript">getDigg({dede:field.id/});</script>

2、div标签说明

<div class="自定义样式" id="newdigg"></div>,这里重点是【id="newdigg"】这个ID,至于div标签和class样式都是你自己随意定义即可;

官方模版页(article_article.htm)这里给的div里一堆代码都没用,因为会被Js重新生成;

<!-- //顶踩 -->
<div class="newdigg" id="newdigg"> …………</div>
 <!-- //顶踩部分的源码结束 -->

三、修改【/plus/digg_ajax.php】代码

1、找到【/plus/digg_ajax.php】文件的95行左右

2、如果你还是用官方的样式,只是修改一下文字,那就是把“顶一下”与“踩一下”的文字修改成你的文字即可;

3、如果你需要修改成你自己的样式结构,这里分析一下,那些代码是必须要保留的,其他都可以换成你自己的标签和样式;

修改一:如果你只要【顶一下】不需要【踩一下】

a、首先删除96行(这个行数是以上面图片为准,你自己是多少行,请自行对照代码即可)

$row['badper'] = trim(sprintf("%4.2f", $row['badper']));

b、再删除105~112行;(切记:在112行【</div>';】)后面的【';】结束符不能删除,一定要保留

c、这样就只保留了【顶一下】

修改二:再精简一下代码(这里只保留必须的代码)将97~112行代码最精简化

$digg = '
<div onclick="postDigg(\'good\','.$id.')">顶一下('.$row['goodpost'].')</div>
<div onclick="postDigg(\'bad\','.$id.')">踩一下('.$row['badpost'].')</div>
';

a、【οnclick="postDigg(\'good\','.$id.')"】这个是点击触发事件代码必须保留;

b、【'.$row['goodpost'].'】这个是显示“顶一下”的数量;

c、以上是最精简代码,至于百分比显示条和百分比数值('.$row['badper'].')这个函数,可根据你自己需求调用即可;

d、div标签你也可以换成你自己的标签,也可以插入class=""样式;


http://www.ppmy.cn/news/1580240.html

相关文章

每日一题:动态规划

如题&#xff08;基础题&#xff09;&#xff1a; 经典的爬楼梯问题&#xff0c;先从递归想起&#xff1b; class Solution { public:int climbStairs(int n) {if(n1)return 1;if(n2)return 2;return climbStairs(n-1)climbStairs(n-2);} }; 之后可以想办法&#xff08;如哈希…

SpringBoot-已添加并下载的依赖,reload和mvn clean 后还是提示找不到jar包问题

背景&#xff1a; 添加spring-jdbc依赖时&#xff0c;原来是指定版本的&#xff0c;担心版本冲突&#xff0c;就改成依赖托管&#xff0c;悲剧的是反复reload和mvn clean&#xff0c;import到类的该包一直标红&#xff0c;提示jar包找不到。。。 解决方案&#xff1a; Idea左上…

2025-3-17 腾讯云-大数据方向-成都面试

ConcurrentHashMap了解过吗 适用场景 高并发环境&#xff0c;多个线程同时读写&#xff08;如缓存、计数器&#xff09;。需要 HashMap 的功能&#xff0c;但又要保证线程安全。适合读多写少的场景&#xff08;因为写操作需要 CAS 或锁&#xff09;。 volatile是什么&#xff…

游戏引擎学习第163天

我们可以在资源处理器中使用库 因为我们的资源处理器并不是游戏的一部分&#xff0c;所以它可以使用库。我说过我不介意让它使用库&#xff0c;而我提到这个的原因是&#xff0c;今天我们确实有一个选择——可以使用库。 生成字体位图的两种方式&#xff1a;求助于 Windows 或…

谷歌手机LEA流程

谷歌手机LEA流程 连接管理首次连接手机回连 业务管理音乐业务通话业务 链路切换管理 本篇文章简单介绍了谷歌手机使用LE Audio连接TWS耳机中的实现细节&#xff0c;强调了持续广播机制、业务差异化处理、链路切换逻辑及加密安全性。核心目标是优化低功耗音频连接的稳定性和资源…

MATLAB中griddedInterpolant函数用法

目录 语法 说明 示例 一维插值 比较使用完整网格和网格向量的三维插值 使用默认网格进行插值 更精细的网格上的二维插值 一维外插 在同一网格上进行多组值插值 griddedInterpolant函数的功能是实现网格数据插值。 语法 F griddedInterpolant F griddedInterpolant…

《CircleCI:CircleCI:解锁软件开发持续集成(CI)和持续部署(CD)高效密码》:此文为AI自动生成

《CircleCI&#xff1a;CircleCI&#xff1a;解锁软件开发持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;高效密码》&#xff1a;此文为AI自动生成 一、CircleCI 初印象 在当今软件开发的快节奏赛道上&#xff0c;持续集成&#xff08;CI&#xff0…

点点-一款超级强大AI生活搜索助手

今天得空,给兄弟萌墙裂推荐一款AI软件 ----点点! 前言 前两天刷小某书在评论区看到这么一句话:“在吃喝玩乐以及一些特别琐碎的很多方面,如果小某书搜不到的话,那就可能真的搜不到了”。这句话相信各位兄弟都深有同感,当代年轻人在互联网的状态之一是把小某书当某度用,…