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

织梦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=""样式;


http://www.kler.cn/a/592195.html

相关文章:

  • VulnHub-matrix-breakout-2-morpheus通关攻略
  • 启幕数据结构算法雅航新章,穿梭C++梦幻领域的探索之旅——二叉树序列构造探秘——堆的奥义与实现诗篇
  • redis缓存更新策略
  • Superagent 异步请求:如何处理复杂的 HTTP 场景
  • C#中修饰符——abstract、virtual
  • 领略算法真谛:01背包问题
  • 深入理解 Linux ALSA 音频架构:从入门到驱动开发
  • LeetCode算法题(Go语言实现)_05
  • Linux--内核进程O(1)调度队列
  • HTML 图像与多媒体元素:拓展学习边界的进度记录(一)
  • LinkedList 底层源码深度解析
  • 【蓝桥杯每日一题】3.17
  • 基于springboot的房屋租赁系统(008)
  • Mysql相关知识:存储引擎、sql执行流程、索引失效
  • AI 大模型统一集成|微服务 + 认证中心:如何保障大模型 API 的安全调用!
  • Elasticsearch 索引
  • 言简意赅 Linux部署elasticsearch7.15.2
  • C语言:编程设计猜数游戏
  • Deflate和Gzip压缩在HTTP响应中的作用与实现
  • NLP高频面试题(六)——decoder-only、encoder-only和encoder-decoder的区别与联系