phpcms列表分页ajax加载更多。网上转载关于phpcms列表分页加载的方法。其方法我想是可行的。现分享给大家。

1、在  /phpcms/modules/模块下加多一个ajaxlist文件夹,在其文件夹下新建一个index.php,内容如下:


    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','list_ajax',$default_style);  
     }  


2、在 /phpcms/templates/default/content下新建ajax_list.html

<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>  

3、然后在模板需要显示列表ajax的地方插入如下代码


    <div id="conter" >  
     <div class="contain_ajaxhtmllist" >  
     {template "content","ajax_list"}  
     </div>  
    </div>