前段时间也在弄这个,我是按照下面的方式来的, PHPCMS开发者可以参考一下。
首先,我们需要找到以下路径:/phpcms/templates/default/content/,在content文件夹下创建一个HTML模板,名字可以自己添加,例如:52php.html,建立好之后把一下代码复制进去:
<br class="Apple-interchange-newline"><div id="ajax_list">
{pc:content action="lists" catid="10" order="id DESC" thumb="" moreinfo="1" }
{loop $data $n $r}
<li><a href="{$r["url"]}" title="{$r["title"]}">{$r["title"]}</a></li>
{/loop}
{/pc}
</div>
<div class="pager ajaxhomelist">
{$pages}
</div>
<script type="text/javascript">
$(function(){
var curr_page = parseInt($(".ajaxhomelist span").text());
$(".ajaxhomelist a").click(function(event){
event.preventDefault();
_page = $(this).text();
if(_page == "下一页") _page = curr_page+1;
if(_page == "上一页") _page = curr_page-1;
$(".contain_ajaxhomelist").load("{siteurl($siteid)}/index.php?a=homeajaxlist&page="+_page,
function(){
//这个是让页面滚动到列表上方
$("html,body").animate({scrollTop:$("#conter").offset().top},1000);
});
});
});
</script>
在你的包含列表页面,比如在您的 /phpcms/templates/default/content/index.html中添加下面代码:
<div id="conter">
<div class="contain_ajaxhtmllist">
{template "content","52php"}
</div>
</div>
这样我们就完成了一大半了,但是还有最后一步是我们最重要的一部分,所以必须完成最后一步。
/phpcms/modules/content/index.php中添加,就是复制init(),增加page获取,改变template,就可以了, 代码如下:
public function homeajaxlist() {
if(isset($_GET["siteid"])) {
$siteid = intval($_GET["siteid"]);
} else {
$siteid = 1;
}
$page = $_GET["page"]?$_GET["page"]:1;
$siteid = $GLOBALS["siteid"] = max($siteid,1);
define("SITEID", $siteid);
$_userid = $this->_userid;
$_username = $this->_username;
$_groupid = $this->_groupid;
//SEO
$SEO = seo($siteid);
$sitelist = getcache("sitelist","commons");
$default_style = $sitelist[$siteid]["default_style"];
$CATEGORYS = getcache("category_content_".$siteid,"commons");
include template("content","home_list_ajax",$default_style);
}