使用 {dede:pagelist} 标签 (最推荐)
这是 DedeCMS 最标准、最灵活的分页标签,它专门用于生成分页导航列表,其中就包含了“下一页”的链接。
基础用法
页模板(通常是 article_article.htm)中,将 {dede:pagebreak/} 标签替换为 {dede:pagelist/} 即可。
示例代码:
<div class="dede_pages">
<ul class="pagelist">
<!-- 这里会自动生成上一页、页码、下一页等链接 -->
{dede:pagelist listitem="pre,next,pageno" listsize="5"/}
</ul>
</div>
标签属性详解
{dede:pagelist} 的强大之处在于它的属性,可以让你完全控制分页的显示样式。
-
listitem: 指定要显示的分页项目。pre: 上一页next: 下一页pageno: 页码index: 首页end: 末页option: 下拉跳转框- 你可以自由组合,
listitem="pre,next,index,end,pageno"会显示所有项目。
-
listsize: 显示的页码数量,当前页码前后各显示多少个页码。listsize="2",如果当前是第5页,可能会显示3,4,5,6,7。 -
tagname: 标签名,默认是p,即<p class="pagepre">这样的结构,你可以自定义,tagname="li"。 -
tagclass: 标签的 class 名称。tagclass="page-item"。
完整示例 (Bootstrap 风格)
如果你想让分页样式和 Bootstrap 或其他现代 CSS 框架兼容,可以这样设置:
<!-- 使用 Bootstrap 样式的分页 -->
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<!-- 上一页 -->
{dede:pagelist listitem='pre' tagname='li' tagclass='page-item'}
<a class="page-link" href='prepage'>上一页</a>
{/dede:pagelist}
<!-- 页码 -->
{dede:pagelist listitem='pageno' listsize='4' tagname='li' tagclass='page-item'}
<a class="page-link" href='pageno'>[page]</a>
{/dede:pagelist}
<!-- 下一页 -->
{dede:pagelist listitem='next' tagname='li' tagclass='page-item'}
<a class="page-link" href='nextpage'>下一页</a>
{/dede:pagelist}
</ul>
</nav>
说明:
{dede:pagelist}会自动解析成类似<li class="page-item"><a class="page-link" href="...">上一页</a></li>的结构。[page]是一个特殊占位符,在listitem='pageno'时,会被替换成具体的页码数字。prepage和nextpage也会被自动替换成对应的链接地址。
使用 {dede:pagebreak} 标签 (简单直接)
{dede:pagebreak} 是一个更简单的标签,它的作用就是在内容中插入一个分页符,并自动生成上一页/下一页的链接,但样式比较单一。
基础用法
通常放在文章内容的末尾。
<div class="article-content">
{dede:field.body/}
</div>
<!-- 在内容后面插入分页符和链接 -->
{dede:pagebreak/}
效果
{dede:pagebreak/} 默认会生成类似下面的 HTML 结构,非常简单,不易自定义样式:
<div class="pagebreak">
<strong>1/3</strong>
<a href=''>下一页</a>
</div>
缺点: 样式固定,无法像 {dede:pagelist} 那样灵活地控制列表和样式。
使用 {dede:arcpagelist} 标签 (用于列表页)
这个标签通常用在列表模板(如 list_*.htm)中,用于显示当前栏目下的分页,而不是文章内容的分页,它同样可以生成“下一页”。
基础用法
<div class="dede_pages">
<ul class="pagelist">
{dede:arcpagelist listitem="pre,next,pageno" listsize="5"/}
</ul>
</div>
属性
它的属性和方法一中的 {dede:pagelist} 基本完全一样,可以参考上面的属性详解。
总结与对比
| 特性 | {dede:pagelist} |
{dede:pagebreak} |
{dede:arcpagelist} |
|---|---|---|---|
| 主要用途 | 页的分页导航 | 页的简单分页 | 列表栏目页的分页导航 |
| 灵活性 | 极高,可自定义列表项、样式、标签 | 低,样式固定 | 高,与 pagelist 类似 |
| 控制力 | 完全控制显示哪些项(首页、末页、页码等) | 只能显示上一页/下一页和当前页/总页数 | 完全控制显示哪些项 |
| 推荐场景 | 绝大多数情况下的首选,特别是需要自定义样式的网站 | 快速实现,对样式要求不高的简单网站 | 调用栏目列表的分页 |
最终建议
对于调用“下一页”,强烈推荐使用方法一:{dede:pagelist}。
它功能最全,样式最可控,是 DedeCMS 分页功能的标准实现方式,你可以根据需要组合 listitem 属性来决定显示哪些导航项,并通过自定义 tagname 和 tagclass 来完美融入你的网站样式。
