現(xiàn)在很多網(wǎng)站支持當(dāng)前文章分頁(yè)的同時(shí)還可以有一個(gè)閱讀全文按鈕了,像網(wǎng)易新聞就有這個(gè)功能了,那么對(duì)于dedecms不具備此功能了,下面我們就來(lái)幫它改改吧。
閱讀全文功能其實(shí)在很多的流行站點(diǎn)都有的,比如網(wǎng)易,新浪等,隨著文章內(nèi)容的增加,當(dāng)一個(gè)頁(yè)面有多個(gè)分頁(yè)的時(shí)候,就會(huì)顯示出這個(gè)“在本頁(yè)閱讀全文”的鏈接,點(diǎn)擊這個(gè)鏈接之后,出現(xiàn)的,將是這篇文章以沒(méi)有分頁(yè)出現(xiàn)的型式。,那么在dedecms5.7如何在文章內(nèi)容頁(yè)添加閱讀全文功能呢?
dedecms5.7文章實(shí)現(xiàn)閱讀全文功能二次開(kāi)發(fā)
這個(gè)閱讀全文有什么用呢?說(shuō)白了,也就是提高用戶體驗(yàn)。下面讓我們看看,怎么簡(jiǎn)單現(xiàn)實(shí)這個(gè)功能。
修改文件:include/arc.archives.class.php
注意:做任何修改前都要備份好原文件。
第一步:打開(kāi)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."'");
在上一行添加以下代碼:
- //閱讀全文開(kāi)始
- if($this->TotalPage > 1) {
- //用正則匹配把分頁(yè)符去掉
- $this->Fields['body2'] = preg_replace('/#p#副標(biāo)題#e#/U', '',$this->Fields['body2']);
- $this->SplitFields = explode("#p2222#",$this->Fields['body2']);
- $this->Fields['tmptitle'] = (emptyempty($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)
- {
- //分析遠(yuǎn)程文件路徑
- $remotefile = str_replace(DEDEROOT, '', $TRUEfilename);
- $localfile = '..'.$remotefile;
- //創(chuàng)建遠(yuǎn)程文件夾
- $remotedir = preg_replace("#[^\/]*\.html#", '', $remotefile);
- $this->ftp->rmkdir($remotedir);
- $this->ftp->upload($localfile, $remotefile, 'ascii');
- }
- }
- //閱讀全文結(jié)束
第三步:查找 獲得靜態(tài)頁(yè)面分頁(yè)列表,代碼如下:
- /**
- * 獲得靜態(tài)頁(yè)面分頁(yè)列表
- *
- * @access public
- * @param int $totalPage 總頁(yè)數(shù)
- * @param int $nowPage 當(dāng)前頁(yè)數(shù)
- * @param int $aid 文檔id
- * @return string
- */
- function GetPagebreak($totalPage, $nowPage, $aid)
- {
- if($totalPage==1)
- {
- return "";
- }
- //$PageList = "<li><a>共".$totalPage."頁(yè): </a></li>";
- $PageList = "";
- $nPage = $nowPage-1;
- $lPage = $nowPage+1;
- if($nowPage==1)
- {
- $PageList.="<a href='javascript:void(0);'><</a>";
- }
- else
- {
- if($nPage==1)
- {
- $PageList.="<a href='".$this->NameFirst.".".$this->ShortName."' target='_self'><</a>";
- }
- else
- {
- $PageList.="<a href='".$this->NameFirst."_".$nPage.".".$this->ShortName."' target='_self'><</a>";
- }
- }
- for($i=1;$i<=$totalPage;$i++)
- {
- if($i==1)
- {
- if($nowPage!=1)
- {
- $PageList.="<a href='".$this->NameFirst.".".$this->ShortName."' target='_self'>1</a>";
- }
- else
- {
- $PageList.="<a class=\"here\" href='javascript:void(0);' target='_self'>1</a>";
- }
- }
- else
- {
- $n = $i;
- if($nowPage!=$i)
- {
- $PageList.="<a href='".$this->NameFirst."_".$i.".".$this->ShortName."' target='_self'>".$n."</a>";
- }
- else
- {
- $PageList.="<a class=\"here\" href='javascript:void(0);' target='_self'>{$n}</a>";
- }
- }
- }
- if($lPage <= $totalPage)
- {
- $PageList.="<a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."' target='_self'>></a>";
- } //Vevb.com
- else
- {
- $PageList.= "<a href='javascript:void(0);'>></a>";
- }
- $PageList.= "<a href='".$this->NameFirst."_all.".$this->ShortName."'>閱讀全文</a>";
- return $PageList;
- }
也就是在return $PageList 上一行添加了一行代碼:
$PageList.= "<a href='".$this->NameFirst."_all.".$this->ShortName."'>閱讀全文</a>";
修改完成后,保存文件,更新一下頁(yè)面就可以看到效果了.
新聞熱點(diǎn)
疑難解答
圖片精選