dedecms通用的ajax分页类,前台代码
{dede:list pagesize=’2′ addfields=’miaoshu,mp3′ channelid=’18′} <li> <div>[field:global name=autoindex runphp="yes"]@me[/field:global]</div> <div> <h2>[field:title/]</h2> <p>[field:miaoshu/]</p> </div> <div onClick=”vP([field:global name=autoindex runphp="yes"]@me[/field:global],’[field:mp3/]‘)”> <img src=”/images/icon-play.png” alt=”"/> <span></span> </div> </li> {/dede:list} <div id=”vp_box” style=” width:1px; height:1px; background:#fff; overflow:hidden”></div> </ul> <!– <div id=”loading27″>加载中</div>–> <a href=”javascript:;” id=”getMore” pnum=”2″><span id=’loading27′ style=”display:none”><img src=”/images/load.gif” width=”35″ height=”35px”></span>点击加载更多内容</a> <script type=”text/javascript”> $(“#getMore”).on(“click”, function(){ var _this = $(this), pnum = _this.attr(“pnum”),//分页码 typeid = 9;// 栏目ID if(pnum == 0){ return false; } $(“#loading27″).show(); $.ajax({ url: ‘/plus/arcajax.php’, data: {typeid:typeid,pnum:pnum}, success: function(data){ if(data != ”){ $(“.radio-list”).append(data);//数据显示到页面 _this.attr(“pnum”, Number(pnum)+1);//分页+1 }else{ _this.text(“没有更多的数据”); _this.attr(“pnum”, 0) } $(“#loading27″).hide(); bindAudioStatue(); } }) return false; }) </script>
arcajax.php代码
<?php require_once(dirname(__FILE__).”/../include/common.inc.php”); require_once(DEDEINC.’/channelunit.class.php’); require_once(DEDEINC.’/taglib/arcpagelist.lib.php’); $pnum = empty($pnum)? 0 : intval(preg_replace(“/[^\d]/”,”, $pnum)); $typeid = empty($typeid)? 0 : intval(preg_replace(“/[^\d]/”,”, $typeid)); if($typeid==0 || $pnum==0) die(” Request Error! “); if($typeid > 0) { $titlelen = AttDef($titlelen,30); $infolen = AttDef($infolen,160); $imgwidth = AttDef($imgwidth,120); $imgheight = AttDef($imgheight,120); $listtype = AttDef($listtype,’all’); $arcid = AttDef($arcid,0); $channelid = AttDef($channelid,0); $orderby = AttDef($orderby,’default’); $orderWay = AttDef($order,’desc’); $subday = AttDef($subday,0); $line = $row; $artlist = ”; //通过页面及总数解析当前页面数据范围 $strnum = ($pnum-1) * 1; $limitsql = ” LIMIT $strnum,1 “; $innertext = ‘<li [field:global name="autoindex" runphp="yes"]if(@me%3==0)@me=\’class=”mrnone”\’; else @me=”";[/field:global]> <div><a href=”[field:arcurl/]” title=”[field:title/]“><img src=”[field:litpic/]” width=”278″ height=”245″></a></div> <h3><a href=”[field:arcurl/]” title=”[field:title/]“>[field:title/]</a></h3> <p>[field:description function="cn_substr(@me,150)"/]</p> <span><a href=”[field:arcurl/]“>浏览案例</a></span> </li>’;//模板 //处理列表内容项 $query = “SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart, tp.moresite,tp.siteurl,tp.sitepath FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id WHERE arc.typeid IN (“.GetSonIds($typeid).”) ORDER BY arc.sortrank desc $limitsql”; $dsql->SetQuery($query); $dsql->Execute(‘al’); $dtp2 = new DedeTagParse(); $dtp2->SetNameSpace(‘field’, ‘[', ']‘); $dtp2->LoadString($innertext); $GLOBALS['autoindex'] = 0; $ids = array(); for($i=0; $i<12; $i++) { for($j=0; $j<1; $j++) { if($row = $dsql->GetArray(“al”)) { $ids[] = $row['id']; //处理一些特殊字段 $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen); $row['id'] = $row['id']; if($row['corank'] > 0 && $row['arcrank']==0) { $row['arcrank'] = $row['corank']; } $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']); $row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'], $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']); if($row['litpic'] == ‘-’ || $row['litpic'] == ”) { $row['litpic'] = $GLOBALS['cfg_cmspath'].’/images/defaultpic.gif’; } if(!preg_match(“#^http:\/\/#”, $row['litpic']) && $GLOBALS['cfg_multi_site'] == ‘Y’) { $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; } $row['picname'] = $row['litpic']; $row['stime'] = GetDateMK($row['pubdate']); $row['typelink'] = “<a href=’”.$row['typeurl'].”‘>”.$row['typename'].”</a>”; $row['image'] = “<img src=’”.$row['picname'].”‘ border=’0′ width=’$imgwidth’ height=’$imgheight’ alt=’”.preg_replace(“#['><]#”, “”, $row['title']).”‘>”; $row['imglink'] = “<a href=’”.$row['filename'].”‘>”.$row['image'].”</a>”; $row['fulltitle'] = $row['title']; $row['title'] = cn_substr($row['title'],$titlelen); if($row['color']!=”) $row['title'] = “<font color=’”.$row['color'].”‘>”.$row['title'].”</font>”; if(preg_match(‘#b#’, $row['flag'])) $row['title'] = “<strong>”.$row['title'].”</strong>”; //$row['title'] = “<b>”.$row['title'].”</b>”; $row['textlink'] = “<a href=’”.$row['filename'].”‘>”.$row['title'].”</a>”; $row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl']; $row['memberurl'] = $GLOBALS['cfg_memberurl']; $row['templeturl'] = $GLOBALS['cfg_templeturl']; if(is_array($dtp2->CTags)) { foreach($dtp2->CTags as $k=>$ctag) { if($ctag->GetName()==’array’) { //传递整个数组,在runphp模式中有特殊作用 $dtp2->Assign($k,$row); } else { if(isset($row[$ctag->GetName()])) $dtp2->Assign($k,$row[$ctag->GetName()]); else $dtp2->Assign($k,”); } } $GLOBALS['autoindex']++; } $artlist .= $dtp2->GetResult().”\r\n”; }//if hasRow else { $artlist .= ”; } }//Loop Col }//loop line $dsql->FreeResult(“al”); } else { die(” Request Error! “); } AjaxHead(); echo $artlist; exit();