Heim  >  Artikel  >  Web-Frontend  >  dedecms5.7文章实现阅读全文功能二次开发_html/css_WEB-ITnose

dedecms5.7文章实现阅读全文功能二次开发_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:57:341088Durchsuche

阅读全文功能其实在很多的流行站点都有的,比如网易,新浪等,随着文章内容的增加,当一个页面有多个分页的时候,就会显示出这个“在本页阅读全文”的链接,点击这个链接之后,出现的,将是这篇文章以没有分页出现的型式。,那么在dedecms5.7如何在文章内容页添加阅读全文功能呢?
如图所示:

 

这个阅读全文有什么用呢?说白了,也就是提高用户体验。下面让我们看看,怎么简单现实这个功能。

修改文件:include/arc.archives.class.php

注意:做任何修改前都要备份好原文件。

第一步:打开include/arc.archives.class.php

文件查找://issystem==-1

往下 大概 145行 找到 $this->Fields['userip'] = $this->addTableRow['userip'];

在下面一行添加:$this->Fields['body2'] = $this->addTableRow['body'];

第二步查找:$this->dsql->ExecuteNoneQuery("Update `#@__archives` SET ismake=1 WHERE id='".$this->ArcID."'");

在上一行添加以下代码

代码如下 复制代码
//阅读全文开始
if($this->TotalPage > 1) {
//用正则匹配把分页符去掉
$this->Fields['body2'] = preg_replace('/#p#副标题#e#/U', '',$this->Fields['body2']);
$this->SplitFields = explode("#p2222#",$this->Fields['body2']);
$this->Fields['tmptitle'] = (empty($this->Fields['tmptitle']) ? $this->Fields['title'] : $this->Fields['tmptitle']);
$this->Fields['title'] = $this->Fields['tmptitle'];
$this->TotalPage = count($this->SplitFields);
$this->Fields['totalpage'] = $this->TotalPage;
$TRUEfilenameall = $this->GetTruePath().$fileFirst."_all.".$this->ShortName;
$this->ParseDMFields(1,0);
$this->dtp->SaveTo($TRUEfilenameall);

if($cfg_remote_site=='Y' && $isremote == 1)
{

//分析远程文件路径
$remotefile = str_replace(DEDEROOT, '', $TRUEfilename);
$localfile = '..'.$remotefile;
//创建远程文件夹
$remotedir = preg_replace("#[^\/]*\.html#", '', $remotefile);
$this->ftp->rmkdir($remotedir);
$this->ftp->upload($localfile, $remotefile, 'ascii');
}
}
//阅读全文结束

第三步:查找 获得静态页面分页列表

代码如下 复制代码
/**
* 获得静态页面分页列表
*
* @access public
* @param int $totalPage 总页数
* @param int $nowPage 当前页数
* @param int $aid 文档id
* @return string
*/
function GetPagebreak($totalPage, $nowPage, $aid)
{
if($totalPage==1)
{
return "";
}
//$PageList = "

  • 共".(www.111cn.net)$totalPage."页:
  • ";
    $PageList = "";
    $nPage = $nowPage-1;
    $lPage = $nowPage+1;
    if($nowPage==1)
    {
    $PageList.="";
    }
    else
    {
    if($nPage==1)
    {
    $PageList.="
    ";
    }
    else
    {
    $PageList.="
    ";
    }
    }
    for($i=1;$i {
    if($i==1)
    {
    if($nowPage!=1)
    {
    $PageList.="
    1";
    }
    else
    {
    $PageList.="1";
    }
    }
    else
    {
    $n = $i;
    if($nowPage!=$i)
    {
    $PageList.="".$n."";
    }
    else
    {
    $PageList.="{$n}";
    }
    }
    }
    if($lPage {
    $PageList.=">";
    }
    else
    {
    $PageList.= ">";
    }
    $PageList.= "阅读全文";
    return $PageList;
    }

    也就是在return $PageList 上一行添加了一行代码,
    $PageList.= "阅读全文";
    修改完成后,保存文件,更新一下页面就可以看到效果了。
    from:http://www.111cn.net/wy/Dedecms/66572.htm

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn