DedeCMS织梦建站系统dede:arclist标签首页分页使用教程和存在的BUG修复。
1、引入js部分,而且要确保这2个文件存在 /include/dedeajax2.js 和 /plus/arcmulti.php
2、以上是引用AJAX功能,实现时时翻页功能,下面是数据列表标签 和 分页标签
-
-
{dede:arclist titlelen='250' pagesize='5' tagid='myindex'}
- [field:pubdate function="MyDate('m-d',@me)"/] [field:title /] {/dede:arclist}
上面两组标签中tagid=”index”要对应上 ,而且tagid要统一,刷新页面会出来数字123分页了。
dede:arclist分页存在BUG修复
1、修正数据库字段类型长度问题,不然{dede:arclist}中间部分代码过长会被截断{/dede:arclist}
UTF-8的织梦程序在后台-系统-SQL命令行工具,执行
ALTER TABLE `#@__arcmulti` CHANGE `innertext` `innertext` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
GBK的织梦程序在后台-系统-SQL命令行工具,执行
ALTER TABLE `#@__arcmulti` CHANGE `innertext` `innertext` TEXT CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL DEFAULT '';
2、修复只能获取10条数据问题
//打开 /include/taglib/arclist.lib.php 找到 $idsstr = join(',', $ids); //在它下面加入 //arclist分页BUG修复 $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 $addfieldsSql FROM `$maintable` arc LEFT JOIN `#@__arctype` tp on arc.typeid=tp.id $addfieldsSqlJoin $orwhere $ordersql"; $dsql->SetQuery($query); $dsql->Execute('tag'); while($row = $dsql->GetArray('tag')) { $tagids[] = $row['id']; } $idsstr = join(',', $tagids); //arclist分页BUG修复 //最后还需要在后台-系统-SQL命令行工具,执行 TRUNCATE `#@__arcmulti`;
扩展做翻页样式
找到文件dede\include\taglib\arcpagelist.lib.php,找到方法function multipage,翻页样式在这里修改以下是做好的一断代码可以直接复制
function multipage($allItemTotal, $currPageNum, $pageSize, $tagid='') { if ($allItemTotal == 0) return ""; //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //第一页显示 $firstPage = ($currPageNum <= 1) ? "[首页]" : "[首页]"; //最后一页显示 $lastPage = ($currPageNum >= $pagesNum)? "[尾页]". $currPageNum : "[尾页]"; //上一页显示 $prePage = ($currPageNum <= 1) ? "[上一页]" : "[上一页]"; //下一页显示 $nextPage = ($currPageNum >= $pagesNum) ? "[下一页]" : "[下一页]"; //共X页 共X条记录 $pagesNum2 = " 共 ".$pagesNum." 页 共 ".$allItemTotal." 条记录"; //按页显示 $listNums = ""; $listNums.= $firstPage; $listNums.= $prePage; for ($i=($currPageNum-4); $i<($currPageNum+9); $i++) { if ($i < 1 || $i > $pagesNum) continue; if ($i == $currPageNum) { $listNums.= "".$i.""; }else { $listNums.= " ". $i ." "; } } $listNums.= $nextPage; $listNums.= $lastPage; $listNums.= $pagesNum2; $returnUrl = $listNums; return $returnUrl; }
刷新后效果:[首页][上一页]12345[下一页][尾页]
CSS分页样式
在模板头文件head中间加入如下代码:
调用CSS样式:
{dede:arcpagelist tagid='index'/}