网站模板中心

您现在的位置:首页>>织梦大学>>标签调用

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

来源: 编辑:admin 发布时间:2019-11-07热度:59 ℃
织梦s的顶客如何实现文章被顶后首页实时刷,而不需要全站刷新?就像A5首页的那样。 经过简单的修改和测试已在本地运行环境中实现了该问题的效果,现将有关代码与解释贴出,...
织梦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的文件,该文件的内容为:
    /****************
    @@ 功能:用于列表中DIGG处理效果
    @@ 日期:2010-10-26
    ****************/
    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 = ‘操作区:(’.$row['goodpost'].’) (’.$row['badpost'].’)’;
    }
    AjaxHead();
    echo $digg;
    exit();
    ?>
    保存即可!
    Pbootcms问题解决

    请点击在线联系我们【点击咨询解决问题】   如果您有任何Pbootcms问题,我们将免费为您写解决教程!

      PB模板网:承接仿站业务,价格200元起!