Heim > php教程 > PHP开发 > Hauptteil

dedecms veröffentlicht eine Komplettlösung für das Paging-Problem

黄舟
Freigeben: 2016-12-14 16:21:29
Original
1494 Leute haben es durchsucht

Aufgrund der großen Menge an Artikelinhalten verfügt dede über eine sehr praktische Funktion im System, nämlich die automatische Paginierung von Artikeln. Man kann sagen, dass diese Funktion sehr durchdacht eingerichtet ist.

Allerdings ist bei der Verwendung ein Problem aufgetreten. Normalerweise gehe ich zuerst in das Dede-Forum und suche nach relevanten Lösungen. Ich habe viele Artikel zum Thema automatisches Paging durchsucht, aber das Problem wurde nicht vollständig gelöst. Möglicherweise gibt es einige Versionsprobleme oder Patches.

Ich verwende Version 4.0 rcl. Die vollständige Lösung lautet wie folgt:

Fügen Sie zunächst diesen Code in die Inhaltsseitenvorlage ein (falls er nicht in der Inhaltsseitenvorlage vorhanden ist) {dede:pagebreak/} und fügen Sie ihn direkt in {dede:field name ein ='body'/} das ist Can.

Dann können Sie versuchen, die automatische Paging-Funktion zu verwenden, um zu sehen, ob das Problem gelöst ist (wahrscheinlich nicht, hehe). Wenn nicht, fahren Sie mit dem nächsten Schritt


fort und ändern Sie die Datei dede/article_description_action.php. Öffnen Sie die Datei und finden Sie den folgenden Code


Das Folgende ist der zitierte Inhalt:

/------------------- ---- -----
//Automatisches Paging aktualisieren
//--------------

if($dojob=='page'){
require_once(dirname(__FILE__)."/inc/inc_archives_functions.php");
//Gesamtzahl der statistischen Datensätze
if($totalnum== 0){
$addquery = " where ID>0 ";
if($sid!=0) $addquery = " And ID>='$sid' ";
if($eid!= 0) $addquery = " And ID<='$eid' ";
$row = $dsql->GetOne("Select count(*) as dd From $table $addquery") ;
$totalnum = $row['dd'];
}
//Datensätze abrufen und analysieren
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 ID>0 ";
if($sid!=0) $addquery = " Und ID>='$ sid' ";
if($eid!=0) $addquery = " And ID<='$eid' ";
$fquery = "Select help,$field From $table $ addquery $limitSql;" ;
          $dsql->SetQuery($fquery); > $tjnum++;
$body = $row[$field];
$aid = $row['aid'] ;
if(strlen($body) < $msize) continue
if(!preg_match("/#P#/iU",$body)){
$body = SpLongBody($body ,$cfg_arcautosp_size*1024,"#P#Seitentitel#E#");
            $body = addslashes($body); }
}//end if limit





wird ersetzt durch:

Das Folgende ist der zitierte Inhalt:

/ ------------------ ----------

//Automatisches Paging aktualisieren

//--------- ------------------


if($dojob=='page'){
    require_once(dirname(__FILE__)."/inc/inc_archives_functions.php");
//统计记录总数
if( $totalnum==0){
        $addquery = " where aID>0 ";
    if($sid!=0) $addquery .= " And aID>='$sid' ";
    if ($eid!=0) $addquery .= " And aID<='$eid' ";
        $row = $dsql->GetOne("Select count(*) as dd From $table $addquery") ;
        $totalnum = $row['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 .= " And aID>='$sid' ";
    if($eid!=0) $addquery .= " And aID<='$eid' ";
    $ fquery = "Select help,$field From $table $addquery $limitSql ;";
    $dsql->SetQuery($fquery);
    $dsql->Execute();
      while($ row=$dsql->GetArray())
      {
       $tjnum++;
       $body = $row[$field];
       $aid = $row['aid'];
       if(strlen($body) < $msize) continue;
       if(!preg_match("/#P#/iU",$body)){
          $body = SpLongBody($body,$cfg_arcautosp_size*1024,"#P#分页标题# E#");
          $body = addslashes($body); 
          $dsql->ExecuteNoneQuery("Update $table set $field='$body' where Aid='$aid' ; ");
       }
      }
    }//end if limit

 


  然后保存上传。问题应该可以完全解决。

 

  看了某些网友写的出现此问题的原因是在数据表中没有发现id字段.只有aid字段,修改即可.

 更多相关文章请关注PHP中文网(www.php. cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage