欢迎您光临10元资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!

织梦dedecms首页文章列表无刷新实现时时顶、踩的方法

织梦dedecms首页文章列表无刷新实现时时顶、踩的方法

  • 织梦dedecms首页文章列表无刷新实现时时顶、踩的方法
  • 第一步:首先创建一个空白首页文件,在里面<body>区域加入以下调用代码:
  • <ol>
  • {dede:arclist row=’5′ titlelen=’20′}
  • <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>
  • <script language=”javascript” type=”text/javascript”>getDigg([field:id/]);</script>
  • {/dede:arclist}
  • </ol>
  • 这里的<script language=”javascript” type=”text/javascript”>getDigg([field:id/]);</script> 被加在了arclist标签里作为底层模板,是为了让每一篇文档都可以独立显示其顶和踩的状态。
  • 第二步:在<head></head>区域内加入以下代码:
  • <script language=”javascript” type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/include/dedeajax2.js”></script>
  • <script language=”javascript” type=”text/javascript”>
  • function postDigg(ftype,aid)
  • {
  • var taget_obj = document.getElementById(‘diggNum’+aid);
  • var saveid = GetCookie(‘diggid’);
  • if(saveid != null)
  • {
  • var saveidsaveids = 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_index.php?action=”+ftype+”id=”+aid;
  • myajax.SendGet2(url);
  • DedeXHTTP = null;
  • }
  • function getDigg(aid)
  • {
  • var taget_obj = document.getElementById(‘diggNum’+aid);
  • myajax = new DedeAjax(taget_obj,false,false,”,”,”);
  • myajax.SendGet2(“{dede:global.cfg_phpurl/}/digg_ajax_index.php?id=”+aid);
  • DedeXHTTP = null;
  • }
  • </script>
  • 这一段代码主要就是引入织梦系统自带的Ajax框架(dedeajax2.js)和两个操作的函数(postDigg(ftype,aid)与getDigg(aid))
  • 第三步:在/plus/ 文件夹下创建一个名为digg_ajax_index.php的文件,该文件的内容为:
  • <?php
    /**
    * CMS集中营 www.cmsjzy.cn
    */
  • require_once(dirname(__FILE__).”/../include/common.inc.php”);
  • $action = isset($action) ? trim($action) : ”;
  • $id = emptyempty($id)? 0 : intval(preg_replace(“/[^\d]/”,”, $id));
  • if($id < 1)
  • {
  • exit();
  • }
  • $maintable = ‘dede_archives’;
  • if($action == ‘good’)
  • {
  • $dsql->ExecuteNoneQuery(“Update `$maintable` set scores = scores + {$cfg_caicai_add},goodpost=goodpost+1,lastpost=”.time().” where id=’$id’”);
  • }
  • else if($action==’bad’)
  • {
  • $dsql->ExecuteNoneQuery(“Update `$maintable` set scores = scores – {$cfg_caicai_sub},badpost=badpost+1,lastpost=”.time().” where id=’$id’”);
  • }
  • $digg = ”;
  • $row = $dsql->GetOne(“Select goodpost,badpost,scores From `$maintable` where id=’$id’ “);
  • if(!is_array($row))
  • {
  • exit();
  • }
  • if($row[‘goodpost’]+$row[‘badpost’] == 0)
  • {
  • $row[‘goodper’] = $row[‘badper’] = 0;
  • }
  • else
  • {
  • $row[‘goodper’] = number_format($row[‘goodpost’]/($row[‘goodpost’]+$row[‘badpost’]),3)*100;
  • $row[‘badper’] = 100-$row[‘goodper’];
  • }
  • if(emptyempty($formurl)) $formurl = ”;
  • if($formurl==’caicai’)
  • {
  • if($action == ‘good’) $digg = $row[‘goodpost’];
  • if($action == ‘bad’) $digg = $row[‘badpost’];
  • }
  • else
  • {
  • $row[‘goodper’] = trim(sprintf(“%4.2f”, $row[‘goodper’]));
  • $row[‘badper’] = trim(sprintf(“%4.2f”, $row[‘badper’]));
  • $digg = ‘操作区:<a href=”javascript:” onclick=”javascript:postDigg(\’good\’,’.$id.’)”>顶</a>(’.$row[‘goodpost’].’) <a href=”javascript:” onclick=”javascript:postDigg(\’bad\’,’.$id.’)”>踩</a>(’.$row[‘badpost’].’)’;
  • }
  • AjaxHead();
  • echo $digg;
  • exit();
  • ?>

大资源网 » 织梦dedecms首页文章列表无刷新实现时时顶、踩的方法

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥200-1000)服务答疑仅限SVIP用户
    3、单价超过1000元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 263795763@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
';