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

织梦教程 强烈建议 2024-02-06 14:23 121 0

  织梦dedecms的顶客如何实现文章被顶后首页实时刷,而不需要全站刷新?就像A5首页的那样。

  经过简单的修改和测试已在本地运行环境中实现了该问题的效果,现将有关代码与解释贴出,希望能给大家一点参考:

  ***步:首先创建一个空白首页文件,在里面区域加入以下调用代码:

  

      {dede:arclist row=’5′ titlelen=’20′}

      

  1. [field:title/] 操作区:([field:goodpost/]) ([field:badpost/])
  2.   

      {/dede:arclist}

      

  这里的 被加在了arclist标签里作为底层模板,是为了让每一篇文档都可以独立显示其顶和踩的状态。

  第二步:在区域内加入以下代码:

  

  

  这一段代码主要就是引入织梦系统自带的Ajax框架(dedeajax2.js)和两个操作的函数(postDigg(ftype,aid)与getDigg(aid))

  有了这两个,基本框架已经实现了!接下来要做的就是:

  第三步:在/plus/ 文件夹下创建一个名为digg_ajax_index.php的文件,该文件的内容为:

  

  require_once(dirname(__FILE__).”/

  $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=‘操作区:(’.$row['goodpost'].’) (’.$row['badpost'].’)’;

  }

  AjaxHead();

  echo $digg;

  exit();

  ?>

  保存即可!



时间:(2024-02-06 14:23:49)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!