在使用Dedecms进行网站开发时,list_article.htm 是一个非常重要的页面,它是DedeCMS默认的列表页模板。通过这个页面,我们可以展示文章列表,而这一切主要依赖于两个核心标签:list 和 pagelist。
接下来我们将详细介绍这两个标签的功能和用法,以及如何自定义pagelist样式以满足SEO需求。
List 标签详解
首先来看一下 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=’’:每页显示的文章数量。
底层模板字段支持以下变量:
ID、typeid、sortrank、flag、ismake、channel、arcrank、click、money、title、shorttitle、color、writer、source、litpic、pubdate、senddate、mid、lastpost、scores、goodpost、badpost、notpost、description、filename、image、imglink、fulltitle、textlink、typelink、plusurl、memberurl、templeturl、stime。
Pagelist 标签详解
接着是 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样式问题
有时直接使用上述标签可能会导致样式变形,这是因为pagelist的CSS样式是在 include/arc.listview.class.php 文件中定义的。如果未采用默认模板,则容易出现问题。
Dedecms v5.1 版本输出的HTML结构类似于:
<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>
这里有两种解决方案:
方法一:将标签置于容器内,并定义相应CSS样式:
<ul class='pagelist'>{dede:pagelist listsize='5' /}</ul>
CSS代码:
.pagelist li { float:left; margin-right:3px; list-style-type:none; }
方法二:修改include/arc.listview.class.php文件,删除
最后,Dedecms自带的分页样式定义在 /templets/default/style/page.css 文件中,V5.7大约从第77行开始。用户可以根据需要调整这些样式来匹配自己的网站设计。