首頁  >  文章  >  php教程  >  dedecms發布分頁問題完全解決方案

dedecms發布分頁問題完全解決方案

黄舟
黄舟原創
2016-12-14 16:21:291491瀏覽

由於文章內容比較多,dede在系統中有一個非常實用的功能就是自動對文章進行分頁。這個功能可以說設定的非常貼心。

  可是在用的時候就出現了問題,出現問題怎麼解決,一般情況下我都是先上dede論壇,用搜索,看有沒有相關的解決答案。搜尋到了很多自動分頁的相關文章,可是沒有完全解決問題的,也許有些版本問題或是打過補丁的。

  我用的是4.0 rcl版本。完全解決方案如下:

  首先在內容頁面範本中插入這個程式碼(如果內容頁面範本中沒有){dede:pagebreak/},直接插入在 {dede:field name='body'/}即可。

  然後你可以使用自動分頁功能試試看問題有沒有解決(估計沒有,嘿嘿)。如果沒有,進入下一步


  修改檔案dede/article_description_action.php。開啟檔案找到以下程式碼


以下為引用的內容:

/----------------------------
//更新自動分頁
//----------------------------

if($dojob=='page'){
    require_once(dirname( __FILE__)."/inc/inc_archives_functions.php");
    //統計記錄總數
    if($totalnum==0){
     addquery    = " And ID>='$sid' ";
       if($eid!=0) $addquery    = " And ID      $totalnum = $row['dd'];
    }
    //取得記錄,並分析
 mit =a$ if($top) $ $startdd,$pagesize";
    else if(($totalnum-$startdd)>0) $limitSql = " limit $startdd,".($totalnum - $startdd); 
   else $limitSql = " = $startdd;
    if($limitSql!=""){
      $addquery    = " where ID>0 ";
    if($eid!=0) $addquery    = " And ID      $fquery = "Select aid,$field From $table $addquery $limitSql ;";
  fquery);
      $dsql->Execute();
      while($row=$dsql->GetArray())
     ];
       $aid = $row[ 'aid'];
       if(strlen($body)        if(!preg_match("/# /iU",$body)){T cautosp_size *1024,"#P#分頁標題#E#");
          $body = addslashes($body);
       ' ; ");
       }
      }
    }//end --------------
//更新自動分頁
//--------------------------- -


if($dojob=='page'){
    require_once(dirname(__FILE__)."/inc/inc_archives_functions.php");
//統計記錄總數
if($totalnum==0){ = " where aID>0 ";
    if($sid!=0) $addquery .= " 且aID>='$sid' ";
    if($eid!=0) $addquery .= " 且aID        $row = $dsql->GetOne("從$table $addquery 中選擇count(*) 為dd");
        $+dd;取得記錄,並分析
if($totalnum > $startdd+$pagesize) $limitSql = " limit $startdd,$pagesize";
else if(($totalnum-$startdd)>0) $limitSql = " limit $ startdd, ".($totalnum - $startdd);
else $limitSql = "";
$tjnum = $startdd;
if($limitSql!=""){
    $addquery = " where aID>0 ";

 
    if($sid!=0) $addquery .= " 且aID>='$sid' ";

    if($eid!=0) $addquery .= " 且aID    $dsql->SetQuery($fquery);    $dsql->Execute($o

); ))
      {
       $tjnum++;
       $body = $row[$field];
   continue;
       if(!preg_match ("/#PC#/iU",$body)){
          $body = SpLongBody($body,$cfg_arcautosp_size*1024,"#PC#50
          $dsql->ExecuteNoneQuery("Update $table set $field='$body' where help='$aid' ; ");
   
 



_然後儲存上傳。問題應該可以完全解決。

 

查看了某些網友寫的出現此問題的原因是在資料表中沒有找到id欄位。只有aid字段,即可。

 更多相關請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn