首页文章加个“顶”的功能。感觉这功能还不错。
现在把文章内容页拔的顶拔出来、分享一下让各位需要的朋友参考使用
(特别注意:红色的是修改的地方)
第一步:
把顶踩的js和ajax提取出来,放在想要使用的页面用(比如:首页)
以下是内容页顶踩用的js、提取出来稍做修改,最后如下:
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></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}