DedeCMS的分页功能主要分为两种:

- 分页:当一篇文章很长时,将其分成多个页面显示,这是最常用、最核心的分页功能。
- 列表页分页:当列表页(如首页、栏目页)的文章数量很多时,将其分成多页显示,这个功能DedeCMS默认自带,我们主要讲第一种。
下面我们重点讲解 分页 的使用方法。
分页符的使用方法
这是在后台发布或编辑文章时,手动添加分页符的操作。
步骤 1:在编辑器中插入分页符
-
登录DedeCMS后台:使用你的管理员账号登录网站后台。
-
进入“文章模型管理”:在左侧菜单栏中,找到并点击 【核心】 -> 模型管理】。
(图片来源网络,侵删) -
选择“文章模型”模型管理页面,找到“普通文章”这一行,点击其右侧的 【字段管理】 按钮。
-
编辑“body”字段:在字段管理页面,找到
body字段(这是存放文章正文内容的核心字段),点击其右侧的 【管理】 按钮。 -
设置编辑器分页符按钮:在
body字段编辑页面,找到 辅助选项” 区域。- 确保 分页符” 这个选项是 “是”。
- 在 分页符” 的输入框中,填写你希望在编辑器工具栏上显示的分页符按钮的文字,分页”、“插入下一页”等,这个文字可以自定义,方便你识别。
-
保存设置:点击页面底部的 “保存” 按钮,这一步非常重要,否则设置不会生效,然后一路返回到后台首页。
步骤 2:在发布文章时使用分页符
你可以在发布文章时使用刚刚设置好的分页符了。
-
发布新文章:在后台,点击 【核心】 -> 【发布文章】。
-
编辑文章内容:在文章编辑器中,将光标定位到你想要分页的位置。
- 例如:你写了一篇很长的教程,前半部分是“准备工作”,后半部分是“具体操作”,你想在“准备工作”结束后分页,就把光标放在“具体操作”这段文字的开头。
-
点击分页符按钮:在编辑器的工具栏上,你会看到一个新添加的按钮,按钮文字就是你刚刚设置的(分页”),点击这个按钮。
-
查看效果:点击后,编辑器中会插入一个类似
[!--nextpage--]的代码标记,这个标记就是DedeCMS识别的分页符,你只需要把光标放在想分页的地方,然后点一下按钮,代码会自动插入。 -
继续编辑下一页内容:在
[!--nextpage--]标记的下方,继续输入你下一页的内容,你可以重复此操作,为文章添加多个分页符。 -
生成文章:填写完文章标题、内容等信息后,点击 “生成HTML” 或 “审核发布”。
步骤 3:前台页面如何显示分页链接
分页符插入成功并生成文章后,用户在前台浏览文章时,文章底部会自动显示出分页导航,“上一页 1 2 3 下一页”。
这是如何实现的呢?
这依赖于你文章内容页的模板文件,模板文件中会有一个专门用来循环输出分页链接的代码。
打开你的文章内容页模板文件(通常位于 /templets/default/article_article.htm),找到类似下面这样的代码块:
<div class="dede_pages">
<ul class="pagelist">
{dede:pagebreak/}
</ul>
</div>
核心代码就是 {dede:pagebreak/} 这个标签,它会自动识别文章内容中的 [!--nextpage--] 标记,并根据这些标记生成分页导航。
说明:
- 这个标签不需要任何额外的参数,它会自动完成所有工作。
- 你可以通过修改
article_article.htm文件中的HTML和CSS代码,来自定义分页导航的样式(比如字体、颜色、按钮样式等)。
分页符相关的常用标签和技巧
除了基本的 {dede:pagebreak/},还有一些相关的标签和技巧可以帮助你更好地控制分页。
{dede:page}
{dede:pagebreak/} 是一个简化版的标签,它只生成分页的数字链接,而 {dede:page} 是一个更强大的标签,可以让你完全自定义分页的HTML结构。
使用示例:
<div class="dede_pages">
<ul class="pagelist">
{dede:page listsize='4' listitem='pre,next,pageno'}
</ul>
</div>
参数说明:
listsize='4':显示当前页码前后各4页的页码,当前是第5页,就会显示 1, 2, 3, 4, [5], 6, 7, 8, 9。
listitem='...':控制要显示的分页元素,用英文逗号隔开。
pre:上一页
next:下一页
pageno:页码
option:下拉跳转框
info:页面信息(如“共X页”)
index:首页
end:尾页
如何获取当前页码?
在分页模板中,你可能需要根据当前是第几页来显示不同的内容(第一页显示摘要,后面几页显示全文),这时你可以使用全局变量 $page。
示例:
{dede:geturl runphp='yes'}
@me = ($page > 1) ? '?page='.$page : '';
{/dede:geturl}
{if $page == 1}
<!-- 这里是第一页要显示的内容,比如文章摘要 -->
<p>这是文章摘要,仅在第一页显示。</p>
{else}
<!-- 这里是其他页要显示的内容 -->
<p>这是从第二页开始显示的内容。</p>
{/if}
常见问题与解决方法
-
问题1:前台文章没有显示分页链接。
- 原因1:忘记在文章内容中插入
[!--nextpage--] 标记。
- 原因2页模板(
article_article.htm)中没有 {dede:pagebreak/} 或 {dede:page}
- 原因3:
body 字段的“启用内容分页符”设置为了“否”。
-
问题2:分页链接样式错乱。
- 原因:CSS样式问题,检查你的模板文件中的CSS定义,或者使用浏览器的开发者工具(F12)检查分页元素的类名,然后针对性地修改CSS。
-
问题3:我想手动控制分页,而不是用编辑器按钮。
- 方法:在编辑文章时,切换到“源码”或“HTML”模式,然后直接手动输入
[!--nextpage--] 这个字符串即可,效果和使用按钮完全一样。
使用DedeCMS分页符,记住三个核心步骤:
- 后台设置:进入
【核心】->【内容模型管理】->【字段管理】->【body】,确保“启用内容分页符”为“是”。
- 内容插入:在发布文章时,使用编辑器的分页按钮或手动在源码中插入
[!--nextpage--] 标记。
- 前台调用:在文章内容页模板中,使用
{dede:pagebreak/} 或 {dede:page} 标签来生成分页导航。
掌握了这三步,你就可以自如地使用DedeCMS的文章内容分页功能了。
{dede:pagebreak/} 是一个简化版的标签,它只生成分页的数字链接,而 {dede:page} 是一个更强大的标签,可以让你完全自定义分页的HTML结构。
使用示例:
<div class="dede_pages">
<ul class="pagelist">
{dede:page listsize='4' listitem='pre,next,pageno'}
</ul>
</div>
参数说明:
listsize='4':显示当前页码前后各4页的页码,当前是第5页,就会显示 1, 2, 3, 4, [5], 6, 7, 8, 9。listitem='...':控制要显示的分页元素,用英文逗号隔开。pre:上一页next:下一页pageno:页码option:下拉跳转框info:页面信息(如“共X页”)index:首页end:尾页
如何获取当前页码?
在分页模板中,你可能需要根据当前是第几页来显示不同的内容(第一页显示摘要,后面几页显示全文),这时你可以使用全局变量 $page。
示例:
{dede:geturl runphp='yes'}
@me = ($page > 1) ? '?page='.$page : '';
{/dede:geturl}
{if $page == 1}
<!-- 这里是第一页要显示的内容,比如文章摘要 -->
<p>这是文章摘要,仅在第一页显示。</p>
{else}
<!-- 这里是其他页要显示的内容 -->
<p>这是从第二页开始显示的内容。</p>
{/if}
常见问题与解决方法
-
问题1:前台文章没有显示分页链接。
- 原因1:忘记在文章内容中插入
[!--nextpage--]标记。 - 原因2页模板(
article_article.htm)中没有{dede:pagebreak/}或{dede:page}- 原因3:
body字段的“启用内容分页符”设置为了“否”。 - 原因3:
- 原因1:忘记在文章内容中插入
-
问题2:分页链接样式错乱。
- 原因:CSS样式问题,检查你的模板文件中的CSS定义,或者使用浏览器的开发者工具(F12)检查分页元素的类名,然后针对性地修改CSS。
-
问题3:我想手动控制分页,而不是用编辑器按钮。
- 方法:在编辑文章时,切换到“源码”或“HTML”模式,然后直接手动输入
[!--nextpage--]这个字符串即可,效果和使用按钮完全一样。
- 方法:在编辑文章时,切换到“源码”或“HTML”模式,然后直接手动输入
使用DedeCMS分页符,记住三个核心步骤:
- 后台设置:进入
【核心】->【内容模型管理】->【字段管理】->【body】,确保“启用内容分页符”为“是”。 - 内容插入:在发布文章时,使用编辑器的分页按钮或手动在源码中插入
[!--nextpage--]标记。 - 前台调用:在文章内容页模板中,使用
{dede:pagebreak/}或{dede:page}标签来生成分页导航。
掌握了这三步,你就可以自如地使用DedeCMS的文章内容分页功能了。
