織夢列表頁點擊自動加載下一頁

需要先修改一個系統文件,打開/include/arc.listview.class.php,查找以下代碼(會查找到兩個,兩個都要改):

if(preg_match('/index/i', $listitem)) $plist .= $indexpage;         
if(preg_match('/pre/i', $listitem)) $plist .= $prepage;  
if(preg_match('/pageno/i', $listitem)) $plist .= $listdd;         
if(preg_match('/next/i', $listitem)) $plist .= $nextpage;         
if(preg_match('/end/i', $listitem)) $plist .= $endpage;         
if(preg_match('/option/i', $listitem)) $plist .= $optionlist;         
if(preg_match('/info/i', $listitem)) $plist .= $maininfo;

修改成:

$PageNo = $this->PageNo;         
$TotalResult = $this->TotalResult;         
$TotalPage = $totalpage;         
$PageSize = $this->PageSize;         
if(preg_match('/thisPage/i', $listitem)) $plist .= $PageNo;         
if(preg_match('/TotalResult/i', $listitem)) $plist .= $TotalResult;         
if(preg_match('/TotalPage/i', $listitem)) $plist .= $TotalPage;         
if(preg_match('/PageSize/i', $listitem)) $plist .= $PageSize;
//上面是新添加的代碼
if(preg_match('/index/i', $listitem)) $plist .= $indexpage;         
if(preg_match('/pre/i', $listitem)) $plist .= $prepage;  
if(preg_match('/pageno/i', $listitem)) $plist .= $listdd;         
if(preg_match('/next/i', $listitem)) $plist .= $nextpage;         
if(preg_match('/end/i', $listitem)) $plist .= $endpage;         
if(preg_match('/option/i', $listitem)) $plist .= $optionlist;         
if(preg_match('/info/i', $listitem)) $plist .= $maininfo;

繼續在這個文件中搜索“條記錄”,查找出四個含有return的結果,將這四句話全部刪除或註釋。修改後就可以通過以下標籤進行一些操作:

文檔總數:{dede:pagelist listitem="TotalResult"/}
分頁總數:{dede:pagelist listitem="TotalPage"/}
分頁大小:{dede:pagelist listitem="PageSize"/}
當前頁碼:{dede:pagelist listitem="thisPage"/}

HTML測試頁

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>測試</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body>
<h2>下面是加載的內容</h2>
<div id="list_box">
<div id="list_box">
{dede:list pagesize='10' orderby='id'}
<p>列表內容</p>
{/dede:list}
<p>在我下邊出現</p>
</div>
<div id="jiazai" style="color:#fff;background:#ff0000;width:200px;padding:10px;text-align:center">加載下一頁</div>
<script>
var typeid='{dede:field.id/}';
var page='{dede:pagelist listitem="thisPage"/}';
var total='{dede:pagelist listitem="TotalPage"/}';
if(total=='' || total=='1'){
	$("#jiazai").remove();
}

$(document).ready(function(){
	$("#jiazai").click(function(res){
		$.post("/plus/fanye.php",{typeid:typeid,page:page},function(res){
			var data=JSON.parse(res);
			var obj ="";
			var total="";
			$.each(data,function(title,content){
				obj+='序列:'+title+'&nbsp;文章ID:'+content.aid+'&nbsp;文章標題:'+content.title+'&nbsp;文章摘要:'+content.description+'<br/>';
			});
			$("#list_box").append(obj);
		});
		page++;
		if(page>=total){
			$("#jiazai").remove();
		}
	});
});
</script>
</body>
</html>

/plus/fanye.php中的內容

<?php
/**
 * 可以引用的信息:
 * typeurl			欄目地址
 * aid				文章ID
 * title			文章標題
 * shorttitle		文章短標題
 * arcurl			文章地址
 * view				文章動態地址
 * body				文章內容
 * date				文章發表日期
 * litpic			文章縮略圖
 * description		文章摘要
 */
$pagesize=10;//每頁顯示記錄數,必須和列表頁pagesize一致

require_once(dirname(__FILE__)."/../include/common.inc.php");
if(empty($_POST['typeid'])){
	showMsg('非法操作!', 'javascript:;');
    exit();}
$typeid=$_POST['typeid'];
if(empty($_POST['page'])){
	$page='2';
}else{
	$page=$_POST['page']+1;//當前是第幾頁
}

$rown = $dsql->GetOne("select COUNT(*) as num From `#@__addonarticle` where typeid='$typeid'");
$num=$rown['num'];//文章總數
$total=ceil($num/$pagesize);//總頁數
$arcstart=($page-1)*$pagesize;//從第幾條開始
$nowsize=$num%$pagesize;//當前頁文章剩餘數

//判斷當前頁加載多少篇文章
if($page<$total){
	$size=$pagesize;
}elseif($page==$total){
	$size=$nowsize;
}else{
	$size=0;
}

//獲取需要的變量
for($i=1;$i<=$size;$i++){
	$i1=$i+$arcstart-1;
	$i2=$i+$arcstart;
	$row=$dsql->GetOne("Select * From `#@__addonarticle` where typeid='$typeid' order by aid desc limit $i1,$i2");
	$row1=$dsql->GetOne("Select * From `#@__archives` where id='".$row['aid']."'");
	$row2=$dsql->GetOne("Select * From `#@__arctype` where id='$typeid'");
	
	$typeurl=str_replace('{cmspath}','',$row2['typedir']);//欄目地址
	$aid=$row['aid'];//文章ID
	$title=$row1['title'];//文章標題
	$shorttitle=$row1['shorttitle'];//文章短標題
	$arcurl=$typeurl.'/'.$aid.'.html';//文章地址,需要在新建欄目時將文章命名規則改爲:{typedir}/{aid}.html
	$view='/plus/view.php?aid='.$aid;//文章頁動態地址
	$date=date("Y-m-d",$row1['senddate']);//發佈時間,格式Y-m-d H:i,對應“年月日時分”
	if($row1['litpic']==''){
		$indexurl=$dsql->GetOne("Select value From `#@__sysconfig` where aid='4'");
		$litpic=$indexurl['value']."/images/defaultpic.gif";
	}else{
		$litpic=$row1['litpic'];//文章縮略圖地址
	}
	$description=$row1['description'];//文章摘要
	$body=strip_tags($row['body']);//文章內容,過濾html標籤
	$box[]=array('typeurl'=>$typeurl,'aid'=>$aid,'title'=>$title,'shorttitle'=>$shorttitle,'arcurl'=>$arcurl,'view'=>$view,'body'=>$body,'date'=>$date,'litpic'=>$litpic,'description'=>$description);
}
echo(json_encode($box));
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章