织梦dedecms首页添加digg顶一下的修改方法 首页文章加个“顶”的功能。感觉这功能还不错。
现在把文章内容页拔的顶拔出来、分享一下让各位需要的朋友参考使用
(特别注意:红色的是修改的地方)
第一步:
把顶踩的js和ajax提取出来,放在想要使用的页面用(比如:首页)
以下是内容页顶踩用的js、提取出来稍做修改,最后如下:
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/"></script>
<script language="JavaScript">
<!--
function postDigg(ftype,aid,tomode)
{
var taget_obj = document.getElementById('newdigg'+'_'+aid);
var saveid = GetCookie('diggid'+aid);
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids==aid && hasid) continue;
else {
if(saveids==aid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids : ','+saveids);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
/* 注释掉下面两行,可以不断顶、方便测试、要限制顶、把注释“//”去掉即可*/
//if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }
//else saveid += ','+aid;
SetCookie('diggid'+aid,saveid,1);
}
else
{
SetCookie('diggid'+aid,aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action="+ftype+"&id="+aid+"&tomode="+tomode;
myajax.SendGet2(url);
}
function getDigg(aid,tomode)
{
var taget_obj = document.getElementById('newdigg'+'_'+aid);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_phpurl/}/digg_ajax.php?id="+aid+"&tomode="+tomode);
DedeXHTTP = null;
}
//-->
</script>
第二步、修改 /plus/digg_ajax.php 这个文件
在最后的
}
AjaxHead();
echo $digg;
exit();
的“}”上面加上以下代码:
if($_GET['tomode']=='xlist') {
$digg = '';
$digg = '<div id="newdigg_'.$id.'">
<em>['.$row['goodpost'].']</em>
<b onclick="postDigg(\'good\','.$id.',\'xlist\')" >顶一下</b>
<span>'.$row['goodper'].'%</span>
</div>';
}
使用方法:
在需要加上顶的标题或记录加上下面代码:
<div class="xListdd" id="newdigg_[field:id/]" >
<em>[field:goodpost/]</em>
<b onclick="postDigg('good',[field:id /],'xlist')" >顶一下</b>
<span>[field:goodper/] %</span>
</div>
<script language="javascript" type="text/javascript">getDigg([field:id/],'xlist');</script>
********************************************************************************************
实例:
***********************************这段是测试这个例子的css 样式、可以按需写自己需要的样式 ************************************
<style>
.xtestTop {
clear:both;
}
.xtestTop h2 {
font-size:30px;
line-height:35px;
height:35px;
font-family:微软雅黑;
float:left;
}
.xListdd * {
text-align:center;
}
.xListdd {
background:url();/** 背景 **/
width:50px;/** “顶”div 的宽度 **/
height:50px;/** “顶”div 的高度 **/
padding:3px;/** 内边距 **/
border:solid 1px #ddd;/** 边框 **/
float:left;
}
.xListdd em {/** “顶”数字的样式 **/
font-size:20px;
color:red;
font-style:normal;
display:block;
}
.xListdd b {/** “顶”鼠标的样式 这里是手 **/
cursor:hand;
font-weight:normal;/** 去掉粗体 **/
}
.xListdd span {
display:block;/** 如果不想显示这个百分比、把 display:block 改成 display:none 即可 **/
font-family:Arial;
font-size:10px;
}
</style>
***********************************这段是测试这个例子的css 样式、可以按需写自己需要的样式 ************************************{dede
:arclist flag='h' titlelen = 36 row='3' infolen='68' }
<div style = 'clear:both;'>
<div class="xListdd" id="newdigg_[field:id/]">
<em>[field:goodpost/]</em>
<b onclick="postDigg('good',[field:id /],'xlist')" >顶一下</b>
<span>[field:goodper/] %</span>
</div>
<script language="javascript" type="text/javascript">getDigg([field:id/],'xlist');</script>
<h2><a href="[field:arcurl/]" >[field:title /]</a></h2>
</div>
{/dede:arclist}
(责任编辑:最模板) |