当前位置: 首页 > news >正文

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

测试的版本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=""样式;

相关文章:

  • C++ 多生产者单消费者(MPSC)模式
  • DeepSeek辅助学术写作中期能力及提示词分享
  • C++反向迭代器
  • kafka指北
  • 计算机组成相关知识
  • Sqlserver安全篇之_启用和禁用Named Pipes的案列介绍
  • 【css酷炫效果】纯CSS实现立体旋转立方体
  • Spring Boot 整合 Nacos 注册中心终极指南
  • 嵌入式Linux——gcc和Makefile
  • C++ list类
  • 强化学习(赵世钰版)-学习笔记(8.值函数方法)
  • 定义模型生成数据表
  • Linux top 命令详解:从入门到高级用法
  • WebRTC、WebSocket、EasyRTC嵌入式音视频SDK:技术差异与应用场景详细对比
  • C++刷题(三):string
  • c++--vector
  • leecode417.太平洋大西洋水流问题
  • PyQt5 - Groove 启用高 DPI 支持,使得应用程序能够自动适应不同的屏幕分辨率
  • numpy学习笔记6:np.sin(a) 的详细解释
  • 《声音的未来:语音识别文献解读》专栏介绍及其文章解读目录
  • 不是10点!乌克兰官员称尚未就俄乌谈判开始时间达成一致
  • 德国总理默茨发表首份政府声明:将提升国防能力,全力发展经济
  • 美国与卡塔尔签署超2435亿美元经济及军事合作协议
  • 在古老的意大利科莫歌剧院,廖昌永唱响16首中国艺术歌曲
  • 秘鲁总理辞职
  • 商务部就开展加强战略矿产出口全链条管控工作应询答记者问