|
织梦dedecms首页文章列表无刷新实现时时顶、踩的方法[font="] OaoHN& " kDRxu!/ 第一步:首先创建一个空白首页文件,在里面<body>区域加入以下调用代码: &F[N$6:v <ol> ,.=7{y~ {dede:arclist row=’5′ titlelen=’20′} t(.vX <li><a href=”[field:arcurl/]“>[field:title/]</a> <span id=”diggNum[field:id/]“>操作区:<a href=”javascript:” onclick=”javascript:postDigg(‘good’,[field:id/])”>顶</a>([field:goodpost/]) <a href=”javascript:” onclick=”javascript:postDigg(‘bad’,[field:id/])”>踩</a>([field:badpost/])</span></li> wXdt\@Qr <script language=”javascript” type=”text/javascript”>getDigg([field:id/]);</script> *N{k#d/ {/dede:arclist} x|^p9m"=% </ol> |L}tAS`8 这里的<script language=”javascript” type=”text/javascript”>getDigg([field:id/]);</script> 被加在了arclist标签里作为底层模板,是为了让每一篇文档都可以独立显示其顶和踩的状态。 %|R]nB .p'McCV= 第二步:在<head></head>区域内加入以下代码: 0R]'HA> <script language=”javascript” type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/include/dedeajax2.js”></script> ?e+y7K}"] <script language=”javascript” type=”text/javascript”> 7g o Rj function postDigg(ftype,aid) g*4^HbVxt { 28}L.>5k var taget_obj = document.getElementById(‘diggNum’+aid); L1@<7?@X var saveid = GetCookie(‘diggid’); <{Rz1CMc if(saveid != null) pd.pY*B<[ { bi-z%!Z var saveidsaveids = saveid.split(‘,’); _4k zlD var hasid = false; (ze9-!% saveid = ”; '8@4FXK j = 1; J~ z00p`E for(i=saveids.length-1;i>=0;i–)
3
}#rg { /}d)g4\j if(saveids==aid && hasid) continue; ehMpo BL else { G*zhy!P if(saveids==aid && !hasid) hasid = true; qUQP.4Z9 5 saveid += (saveid==” ? saveids : ‘,’+saveids); >T\^dHtz j++; Vg"v C if(j==20 && hasid) break; S09Xe_q if(j==19 && !hasid) break; 7U&<{U< } j4(f1 } ^/$U(4 if(hasid) { alert(“您已经顶过该帖,请不要重复顶帖!”); return; } "haJwV6- else saveid += ‘,’+aid; U\"FYTC SetCookie(‘diggid’,saveid,1); FaG&U } gJOD+~ else z)
"(&__ { mr XmM< SetCookie(‘diggid’,aid,1); t8 ~isuiK } .DhB4v& myajax = new DedeAjax(taget_obj,false,false,”,”,”); e1R<+`] var url = “{dede:global.cfg_phpurl/}/digg_ajax_index.php?action=”+ftype+”id=”+aid; VzuU0 myajax.SendGet2(url); @dhnpR:L DedeXHTTP = null; ,mE}#cyY }
K'U=);W function getDigg(aid) }Y3*X:i7 { AZbFj-^4 var taget_obj = document.getElementById(‘diggNum’+aid); D.x&N~- myajax = new DedeAjax(taget_obj,false,false,”,”,”); Q.l3F3; myajax.SendGet2(“{dede:global.cfg_phpurl/}/digg_ajax_index.php?id=”+aid); A 1aN<!ehB DedeXHTTP = null; _j\8u`^n } &v/R-pz </script> :gx]zxK 这一段代码主要就是引入织梦系统自带的Ajax框架(dedeajax2.js)和两个操作的函数(postDigg(ftype,aid)与getDigg(aid)) dPF*G$ ^J&}C 第三步:在 /plus/ 文件夹下 创建一个名为 digg_ajax_index.php的文件,该文件的内容为: m/aA
q8 <?php/** * CMS集中营 www.cmsjzy.cn */ f(*iagEy require_once(dirname(__FILE__).”/../include/common.inc.php”);
y7.oy" $action = isset($action) ? trim($action) : ”; O7zj8 $id = emptyempty($id)? 0 : intval(preg_replace(“/[^\d]/”,”, $id)); vH>s2\V" if($id < 1) `&FfGftc { mC!^`y) exit(); wRe2sjM } Qsr+f~"W $maintable = ‘dede_archives’; u~1 ,88&U if($action == ‘good’) r5PZ=+F { \!Ap< $dsql->ExecuteNoneQuery(“Update `$maintable` set scores = scores + {$cfg_caicai_add},goodpost=goodpost+1,lastpost=”.time().” where id=’$id’”); d(9C7GLC, } He}"e&K else if($action==’bad’) dRXrI { O2oF\E_6 $dsql->ExecuteNoneQuery(“Update `$maintable` set scores = scores – {$cfg_caicai_sub},badpost=badpost+1,lastpost=”.time().” where id=’$id’”); i6xzHfaYG } /=:Fw}vt $digg = ”; !+n'0{ $row = $dsql->GetOne(“Select goodpost,badpost,scores From `$maintable` where id=’$id’ “); 6Q}>=R^h if(!is_array($row))
`6pz9j] { lYy:A%yDT exit(); zz-X5PFn } M#xol/)h if($row['goodpost']+$row['badpost'] == 0) -z>m]YDH { L:Me $row['goodper'] = $row['badper'] = 0;
S
vW{1 } FF#?x@N: else N7Kkz
/ { %TzdpQp" $row['goodper'] = number_format($row['goodpost']/($row['goodpost']+$row['badpost']),3)*100; cxnEcX\ $row['badper'] = 100-$row['goodper']; L%/atl! } dSbz$Fc t if(emptyempty($formurl)) $formurl = ”; ^fti<Lw5 if($formurl==’caicai’) LEY k { aTE;Gy,W if($action == ‘good’) $digg = $row['goodpost']; kS)|oUK if($action == ‘bad’) $digg = $row['badpost']; g>_d,#F } pYX!l:hk else i
[6oqZ { 5>rjL; $row['goodper'] = trim(sprintf(“%4.2f”, $row['goodper'])); Z%7X" w $row['badper'] = trim(sprintf(“%4.2f”, $row['badper'])); }dG>_/3 $digg = ‘操作区:<a href=”javascript:” onclick=”javascript:postDigg(\’good\’,’.$id.’)”>顶</a>(’.$row['goodpost'].’) <a href=”javascript:” onclick=”javascript:postDigg(\’bad\’,’.$id.’)”>踩</a>(’.$row['badpost'].’)’; v\Zq=,+ } \7 }{\hY- AjaxHead(); 6?= ^8 echo $digg; 49dN ~k= exit(); }1Pv6L(o) ?>
|