首页 » 开源/框架 » DEDE » 正文

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

Dede的默认页面中有个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复制到自己的样式表中,然后修改成自己想要的样式就行了。

本文共 1 个回复

  • 名品雨 2015/07/27 09:58

    写的不错。。。支持!

发表评论