帝国CMS二次开发教程:实现下拉加载更多功能
帝国CMS二次开发下拉加载更多教程:首先,在模板中添加一个下拉加载更多的按钮。然后,编写JavaScript代码,监听按钮的点击事件。当点击按钮时,发送Ajax请求到服务器获取更多数据。服务器端需要处理这个请求,返回更多的数据。最后,将返回的数据添加到页面中,并更新下拉加载更多的按钮状态。这样,用户就可以通过点击按钮来获取更多的数据了。需要注意的是,这个过程需要在服务器端进行处理,以确保数据的安全性和完整性。
首先调用20条默认的信息,代码如下
<sectionclass="FConBig"><divclass="divcon"><divid="divcon1">[e:loop={"select*fromwww_11px_cn_ecms_newswhereclassidin(2,3,4,5,6)orderbynewstimedesclimit20",6,24,0}]<dlclass="FConSmall"><dt><ahref="<?=$bqsr['titleurl']?>"><imgsrc="<?=$public_r['add_www_11px_cn_url']?><?=$bqr['titlepic']?>"width="100%"></a></dt><dd><ahref="<?=$bqsr['titleurl']?>"class="FConWza"><spanclass="FConWzTag"><?=$bqsr[classname]?></span><spanclass="FConTimeIco"></span><spanclass="FConWzTime"><?=date('Y-m-d',$bqr[newstime])?></span></a><ahref="<?=$bqsr['titleurl']?>"class="FConWzDesc"><?=$bqr['title']?></a></dd></dl>[/e:loop]</div></div></section><divclass="FConBig"id="paiList"></div><divid="divcon2"><divid="divload"></div></div>
然后再是下拉加载的js代码,
<scriptsrc="/Style/js/jquery-1.7.1.min.js"></script><scriptlanguage="javascript"type="text/javascript">$(document).ready(function(){varpage=1;//这个不是真正的页数,而是位移量varnextpage=1;varwan=true;vartotalheight=0;functionloadData(){totalheight=parseFloat($(window).height())+parseFloat($(window).scrollTop());if($(document).height()<=totalheight&&wan==true){//说明滚动条已达底部varcid=0;page=nextpage;$.ajax({url:'/Style/getajax.php',type:'get',data:{"classid":cid,'next':page},dataType:'html',beforeSend:function(){$('#divload').html('<divid="pullUp"><pclass="pullUpLabela"><imgsrc="/Style/css/img/wait1.gif"width="20"><span>正在载入</span></p></div>');$('#divcon2').show();wan=false;},success:function(str){if(str!=""){$('#divcon1').show();$('#divcon2').hide();$('#divcon1').append(str);nextpage++;wan=true;}else{$('#divload').html('<divid="pullUp"><spanclass="pullUpLabel">加载完毕!</span></div>');$('#divcon2').show();}}});}}$(window).scroll(function(){loadData();});})</script>
最后就是getAJAX.php的加载代码
<?php$ye=strFilter($_GET["next"]);$clasid=strFilter($_GET["classid"]);if($clasid==1){$clasid="2,3,4,5,6";}if($clasid==7){$clasid="8,9,10,11,12,13";}if($clasid==14){$clasid="15,16,17";}if($clasid==18){$clasid="19,20,21,22";}if($clasid==23){$clasid="24,25,26,27,38";}if($clasid==28){$clasid="29,30,31,32";}if($clasid==33){$clasid="34,35,36,37";}if($clasid==0){$aabbccdd=base64_encode("select*fromwww_11px_cn_ecms_newsorderbynewstimedesclimit");}else{$aabbccdd=base64_encode("select*fromwww_11px_cn_ecms_newswhereclassidin($clasid)orderbynewstimedesclimit");}functionstrFilter($str){$str=str_replace('`','',$str);$str=str_replace('·','',$str);$str=str_replace('~','',$str);$str=str_replace('!','',$str);$str=str_replace('!','',$str);$str=str_replace('@','',$str);$str=str_replace('#','',$str);$str=str_replace('$','',$str);$str=str_replace('¥','',$str);$str=str_replace('%','',$str);$str=str_replace('^','',$str);$str=str_replace('……','',$str);$str=str_replace('&','',$str);$str=str_replace('*','',$str);$str=str_replace('(','',$str);$str=str_replace(')','',$str);$str=str_replace('(','',$str);$str=str_replace(')','',$str);$str=str_replace('-','',$str);$str=str_replace('_','',$str);$str=str_replace('——','',$str);$str=str_replace('+','',$str);$str=str_replace('=','',$str);$str=str_replace('|','',$str);$str=str_replace('','',$str);$str=str_replace('[','',$str);$str=str_replace(']','',$str);$str=str_replace('【','',$str);$str=str_replace('】','',$str);$str=str_replace('{','',$str);$str=str_replace('}','',$str);$str=str_replace(';','',$str);$str=str_replace(';','',$str);$str=str_replace(':','',$str);$str=str_replace(':','',$str);$str=str_replace(''','',$str);$str=str_replace('"','',$str);$str=str_replace('“','',$str);$str=str_replace('”','',$str);$str=str_replace(',','',$str);$str=str_replace(',','',$str);$str=str_replace('<','',$str);$str=str_replace('>','',$str);$str=str_replace('《','',$str);$str=str_replace('》','',$str);$str=str_replace('.','',$str);$str=str_replace('。','',$str);$str=str_replace('/','',$str);$str=str_replace('、','',$str);$str=str_replace('?','',$str);$str=str_replace('?','',$str);returntrim($str);}require("../e/class/connect.php");if(!defined('InEmpireCMS')){exit();}require("../e/class/db_sql.php");require("../e/class/q_functions.php");$link=db_connect();$empire=newmysqlquery();$yema=$ye*20;$query=@mysql_query(base64_decode($aabbccdd)."$yema,20")//执行SQL语句ordie("SQL语句执行失败2");while($rs=mysql_fetch_assoc($query)){$src=$rs[id];$xwclassid=$rs['classid'];$xwtitle=$rs['title'];$xwtitleurl=$rs['titleurl'];$xwtitlepic=$rs['titlepic'];$smalltext=$rs['smalltext'];$newstime=$rs['newstime'];$onclick=$rs['onclick'];$tuurl=$public_r[add_www_11px_cn_url];$queryss=@mysql_query("select*fromwww_11px_cn_enewsclasswhereclassid='$xwclassid'")//执行SQL语句ordie("SQL语句执行失败3");while($rstt=mysql_fetch_assoc($queryss)){$xwclassname=$rstt[classname];$xwclasspath=$rstt[classpath];}?><dlclass="FConSmall"><dt><ahref="<?=$xwtitleurl?>"><imgsrc="<?=$tuurl?><?=$xwtitlepic?>"width="100%"></a></dt><dd><ahref="<?=$xwtitleurl?>"class="FConWza"><spanclass="FConWzTag"><?=$xwclassname?></span><spanclass="FConTimeIco"></span><spanclass="FConWzTime"><?=date('Y-m-d',$newstime)?></span></a><ahref="<?=$xwtitleurl?>"class="FConWzDesc"><?=$xwtitle?></a></dd></dl><?php}?>
这段代码加了写判断栏目的功能,大家按格式自行修改吧。