- 苗木草坪种植绿化类网站...
- 甲醛检测空气污染治理类...
- 中国风古典园林假山工程...
- 财经新闻资讯类网站织梦...
- 律师事务所网站织梦模板...
- 生态水果蔬菜商城类网站...
- 微商货源网店代理类网站...
- 餐饮美食类网站织梦模板...
- 服装定制设计类网站织梦...
- 阀门制造设备展示类网站...
- 金融理财投资类网站织梦...
- 新闻博客资讯类网站织梦...
- 艺考培训类网站织梦模板...
- PPT素材下载类网站织梦模...
- 五金水槽挂架类网站织梦...
- 五金配件加工机械设备类...
- 电脑机箱配件类网站织梦...
- QQ个性空间日志资讯类网...
- 宠物兽医门诊医院类网站...
- 水性工业漆类企业网站织...
将dede:list标签进行改造,使用SQL标签实现静态分页,在自定义表单调用的分页用他就很方便
例如会员列表的模板标签写法
{dede:listsql sql="select * from dede_member" pagesize="10"}<li><a href="[field:id runphp=yes]$id=@me;$url=GetOneArchive($id);@me=$url['arcurl'][/field:id]"><img src="[field:litpic/]">[field:XX /]</a></li>{/dede:listsql}<!--分页-->{dede:pagelist/}
- 实现教程
打开include/arc.listview.class.php 找到
if(!is_object($ctag)){$ctag = $this->dtp->GetTag("list");}
在下面加入
if(!is_object($ctag)){$ctag = $this->dtp->GetTag("listsql");if(is_object($ctag)){$cquery = $ctag->GetAtt("sql");//$cquery = str_replace('~reid~',$this->ReID,$cquery); 这是另一个客户要求的获取url第2个参数才加的。$cquery = preg_replace("/SELECT(.*?)FROM/is", " SELECT count(*) as dd FROM ", $cquery);$cquery = preg_replace("/ORDER(.*?)SC/is", "", $cquery);$row = $this->dsql->GetOne($cquery);if(is_array($row)){$this->TotalResult = $row['dd'];}else{$this->TotalResult = 0;}}}
继续找到
else if($ctag->GetName()=="pagelist")
在它上面加入
else if($ctag->GetName()=="listsql"){$limitstart = ($this->PageNo-1) * $this->PageSize;$row = $this->PageSize;if(trim($ctag->GetInnerText())==""){$InnerText = GetSysTemplets("list_fulllist.htm");}else{$InnerText = trim($ctag->GetInnerText());}$this->dtp->Assign($tagid,$this->GetSqlList($limitstart,$row,$ctag->GetAtt("sql"),$InnerText));}
最后找到
function GetPageListST(
在它上面加入
function GetSqlList($limitstart = 0, $row = 10, $sql = '', $innertext){global $cfg_list_son;$innertext = trim($innertext);if ($innertext == ''){$innertext = GetSysTemplets('list_fulllist.htm');}//处理SQL语句$limitStr = " LIMIT {$limitstart},{$row}";$sql = str_replace('~reid~',$this->ReID,$sql);$this->dsql->SetQuery($sql . $limitStr);$this->dsql->Execute('al');$t2 = ExecTime();//echo $t2-$t1;$sqllist = '';$this->dtp2->LoadSource($innertext);$GLOBALS['autoindex'] = 0;//获取字段while($row = $this->dsql->GetArray("al")){$GLOBALS['autoindex']++;if(is_array($this->dtp2->CTags)){foreach($this->dtp2->CTags as $k=>$ctag){if($ctag->GetName()=='array'){//传递整个数组,在runphp模式中有特殊作用$this->dtp2->Assign($k,$row);}else{if(isset($row[$ctag->GetName()])){$this->dtp2->Assign($k,$row[$ctag->GetName()]);}else{$this->dtp2->Assign($k,'');}}}}$sqllist .= $this->dtp2->GetResult();}//while$t3 = ExecTime();//echo ($t3-$t2);$this->dsql->FreeResult('al');return $sqllist;}