Dedecms列表页标签list/pagelist使用方法及pagelist的样式

织梦Dedecms的默认页面中有个list_article.htm页面,这是dede的列表页面。在列表页显示文章的列表,是通过dede的list和pagelist这两个个标签实现的。本文就这两个标签的使用及pagelist的样式进行下详细的说明。
首先介绍下list标签的参数及使用方法:
标签名称:list
功能说明:表示列表模版里的分页内容列表
使用范围:仅列表页模版 list_*.htm
基本语法:{dede:list col=” titlelen=” infolen=” imgwidth=” listtype=” orderby=” pagesize=” orderway=”}{/dede:list}
参数说明:
col=” 内容列数
titlelen=” 标题长度
infolen=” 内容摘要长度
imgwidth=” 缩略图宽度
imgheight=” 缩略图高度
orderby=” 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum,默认为sortrank
pagesize=’20’ 分页大小
底层模版字段:
ID(同id), typeid, sortrank, flag, ismake, channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic(同picname),pubdate,senddate,mid,lastpost,scores,goodpost,badpost,notpost,description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,stime(pubdate 的”0000-00-00″格式)
注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。
下面介绍pagelist的参数及使用方法:
标签名称:pagelist
功能说明:表示分页页码列表
适用范围:仅列表模板 list_*.htm
基本语法:{dede:pagelist listsize=’5′ listitem=”/}
参数说明:
listsize 表示[1][2][3] 这些项的长度 * 2
listitem 表示页码的样式,可以把下面的值叠加
index 首页
pre 上一页
pageno 页码
next 下一页
end 末页
option 下拉跳转框
例:{dede:pagelist listitem=’index,end,pre,next,pageno’ listsize=’5′ /}
但是有时候直接引用上面的标签的时候,会出现变形问题。因为pagelist本身就有一些样式是在include/arc.listview.class.php定义css样式的。所以如果你不采用默认模板的话,一调用这个标签就容易出现问题。这是因为列表页pagelist的分页标记在v5.1下默认输出这样的样式:
 
<a href=’#’>首页</a>
<a href=’#’>1</a>
<a href=’#’>2</a>
<a href=’#’>3</a>
<a href=’#’>下一页</a>
<a href=’#’>末页</a>
而在v5.3以后输出样式变成了这样:
 
<li><a href=”#”>首页</a></li>
<li><a href=”#”>1</a></li>
<li><a href=”#”>2</a></li>
<li><a href=”#”>3</a></li>
<li><a href=”#”>下一页</a></li>
<li><a href=”#”>末页</a></li>
下面是两个解决方法。
方法一:(比较直观的方法,个人感觉此方法最好)
首先把这个标签放在一个容器里
 
<ul class=’pagelist’>{dede:pagelist listsize=’5′ /}</ul>
然后定义css:
 
.pagelist li{ float:left; margin-right:3px; list-style-type:none;}
方法二:去掉<li>标签
在include/arc.listview.class.php中删除相应的<li>代码,输出就变成了v5.1的形式了。另外,include/arc.listview.class.php中option的代码注释掉了,恢复就能用了。
DEDECMS自带样式表CSS定义在 /templets/default/style/page.css 中所有涉及到.dede_pages 的位置,V5.7中大约从第77开始。大家可以把这段CSS复制到自己的样式表中,然后修改成自己想要的样式就行了。