在使用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结构类似于:


首页
1
2
3
下一页
末页

而在v5.3及更高版本中,输出结构变为:


  • 首页
  • 1
  • 2
  • 3
  • 下一页
  • 末页
  • 这里有两种解决方案:

    方法一:将标签置于容器内,并定义相应CSS样式:

      {dede:pagelist listsize='5' /}

    CSS代码:

    .pagelist li { float:left; margin-right:3px; list-style-type:none; }

    方法二:修改include/arc.listview.class.php文件,删除

  • 标签即可恢复到v5.1的形式。

    最后,Dedecms自带的分页样式定义在 /templets/default/style/page.css 文件中,V5.7大约从第77行开始。用户可以根据需要调整这些样式来匹配自己的网站设计。