需要先修改一个系统文件,打开/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">
{dede:list pagesize='5' 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+' 文章ID:'+content.aid+' 文章标题:'+content.title+' 文章摘要:'+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 文章缩略图
* info 文章摘要
*/
$pagesize=5;//每页显示记录数,必须和列表页pagesize保持一致
$titlelen=20;//标题长度,0为默认长度
$infolen=30;//摘要长度,0为默认长度
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 `#@__archives` where typeid='$typeid' and arcrank='0'");
$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 a.*,b.* From `#@__addonarticle` a,`#@__archives` b where a.aid=b.id and b.arcrank='0' and a.typeid='$typeid' order by aid desc limit $i1,$i2");
$row2=$dsql->GetOne("Select * From `#@__arctype` where id='$typeid'");
$typeurl=str_replace('{cmspath}','',$row2['typedir']);//栏目地址
$aid=$row['aid'];//文章ID
$titlelen=='0'?$title=$row['title']:$title=mb_substr($row['title'],0,$titlelen,'utf-8');//文章标题
$shorttitle=$row['shorttitle'];//文章短标题
$arcurl=$typeurl.'/'.$aid.'.html';//文章地址,需要在新建栏目时将文章命名规则改为:{typedir}/{aid}.html
$view='/plus/view.php?aid='.$aid;//文章页动态地址
$date=date("Y-m-d",$row['senddate']);//发布时间,格式Y-m-d H:i,对应“年月日时分”
if($row['litpic']==''){
$indexurl=$dsql->GetOne("Select value From `#@__sysconfig` where aid='4'");
$litpic=$indexurl['value']."/images/defaultpic.gif";
}else{
$litpic=$row['litpic'];//文章缩略图地址
}
$infolen=='0'?$info=$row['description']:$info=mb_substr($row['description'],0,$infolen,'utf-8');//文章摘要
$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,'info'=>$info);
}
echo(json_encode($box));
?>
注意如果是自定义模型,需要修改“#@__addonarticle”为自己定义的表名