기사 콘텐츠의 양이 많기 때문에 dede에는 기사의 페이지를 자동으로 매기는 시스템에 매우 실용적인 기능이 있습니다. 이 기능은 매우 세심하게 설정되었다고 할 수 있습니다.
그런데 사용하다가 문제가 발생했습니다. 어떻게 해결해야 할까요? 보통은 먼저 데데 포럼에 가서 관련 해결방안이 있는지 찾아봅니다. 자동 페이징 관련 글을 많이 찾아봤는데, 문제가 완전히 해결되지 않았네요. 혹시 일부 버전 문제나 패치가 있는 것 같습니다.
rcl 버전 4.0을 사용하고 있습니다. 전체 해결 방법은 다음과 같습니다.
먼저 이 코드를 콘텐츠 페이지 템플릿에 삽입하고(콘텐츠 페이지 템플릿에 없는 경우) {dede:pagebreak/}에 직접 삽입하고, {dede:field name에 직접 삽입합니다. ='body'/} 즉 Can입니다.
그런 다음 자동 페이징 기능을 사용하여 문제가 해결되었는지 확인할 수 있습니다(아마도 아닐 겁니다, 헤헤). 그렇지 않다면 다음 단계
로 이동하여 dede/article_description_action.php 파일을 수정하세요. 파일을 열고 다음 코드를 찾으세요
다음은 인용된 내용입니다:
/------ ---- -----
//자동 페이징 업데이트
//---------------
if($dojob=='page'){
require_once(dirname(__FILE__)."/inc/inc_archives_functions.php");
//총 통계 레코드 수
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'];
}
//기록 가져오기 및 분석
if($totalnum > $startdd+$pagesize) $limitSql = " $startdd, $pagesize";
else if(($totalnum-$startdd)>0) $limitSql = " $startdd 제한,".($totalnum - $startdd);
else $limitSql = "";
$tjnum = $startdd;
if($limitSql!=""){
$addquery = " 여기서 ID>0 ";
if($sid!=0) $addquery = " 그리고 ID>='$ sid' ";
if($eid!=0) $addquery = " And ID<='$eid' ";
$fquery = "$table $에서 $field 보조 선택 addquery $limitSql;" ;
$dsql->SetQuery($fquery); > $tjnum++;
$body = $row[$field];
$aid = $row['aid'] ;
if(strlen($body) < $msize) 계속
if(!preg_match("/#P#/iU",$body)){
$body = SpLongBody($body ,$cfg_arcautosp_size*1024,"#P#페이지 제목#E#");
$body = addlashes($body) }
}//제한 시 종료
은 다음으로 대체됩니다.
//자동 페이징 업데이트
//--------- -----
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 = " $startdd 제한 ,$pagesize";
else if(($totalnum-$startdd)>0) $limitSql = " $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 = "$table $addquery $limitSql에서 $field 보조 선택 ;";
$dsql->SetQuery($fquery);
$dsql->Execute();
while($ row=$dsql->GetArray())
{
$tjnum++;
$body = $row[$field];
$aid = $row['aid'];
if(strlen($body) < $msize) 계속;
if(!preg_match("/#P#/iU",$body)){
$body = SpLongBody($body,$cfg_arcautosp_size*1024,"#P#分页标题# E#");
$body = addlashes($body);
$dsql->ExecuteNoneQuery("Update $table set $field='$body' whereaid='$aid' ; ");
}
}
}//제한된 경우 종료
然后保存上传。问题应该可以完全解决。
看了某些网友写的因是在数据表中没有发现id字段。只有aid字段,修改即可。
更多关文章请关注PHP中文网(www.php.cn)!