栏目分页设置概述
织梦CMS的栏目列表页分页功能用于处理文章数量较多时的页面导航,它通过 {dede:pagelist} 标签配合 {dede:list} 标签的 pagesize 参数实现。合理的分页设置能提升用户体验和网站性能。
一、后台栏目分页设置
在栏目管理中设置默认分页参数:
- 进入
核心 > 栏目管理 - 点击目标栏目的"更改"
- 找到"栏目列表页"选项卡
- 设置"每页文章数"(即默认pagesize值)
二、模板中使用 list 标签分页
在栏目列表页模板中使用 {dede:list} 标签:
<!-- 基础分页调用 -->
{dede:list pagesize='20' orderby='pubdate'}
<div class="article-item">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p>[field:description function='cn_substr(@me,200)'/]</p>
<span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</div>
{/dede:list}
<!-- 分页导航 -->
<div class="pagination">
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
</div>
三、分页标签参数详解
| 参数 | 说明 |
|---|---|
pagesize='20' | 每页显示20篇文章 |
orderby='pubdate' | 按发布时间排序 |
listitem | 分页显示项目:info总页数、index首页、pre上一页、next下一页、end末页、pageno页码、option下拉跳转 |
listsize='5' | 页码列表中显示的数字个数 |
四、自定义分页样式
通过在模板中添加CSS来美化分页导航:
<style>
.pagination{text-align:center;padding:20px 0;}
.pagination ul{display:inline-block;list-style:none;margin:0;padding:0;}
.pagination li{display:inline-block;margin:0 3px;}
.pagination li a{display:block;padding:8px 14px;background:#f0f3f7;color:#333;border-radius:4px;text-decoration:none;transition:.3s;}
.pagination li a:hover{background:#3498db;color:#fff;}
.pagination li.thisclass a{background:#3498db;color:#fff;font-weight:bold;}
.pagination li.info{color:#888;padding:8px 5px;font-size:14px;}
</style>
五、列表页显示"共X页/X条记录"
使用分页标签的info参数显示统计信息:
<!-- 显示分页信息 -->
{dede:pagelist listitem="info,pre,next,end"/}
<!-- 完整分页导航 -->
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
六、栏目列表页SEO优化
为分页页面设置合适的SEO标题:
<!-- 在list模板中添加分页标题 -->
<title>
{dede:field.typename/}_{dede:field.seotitle/} -
{dede:pagelist listitem="pageno" function="html2text(@me)"/} -
{dede:global.cfg_webname/}
</title>
<!-- 设置canonical标签避免重复 -->
<link rel="canonical" href="{dede:global.cfg_basehost/}{dede:field.typedir/}"/>
性能提示:pagesize不宜设置过大(建议10-30之间)。过大会增加每次页面加载的数据库查询压力;过小则会产生过多分页,影响用户浏览体验。
七、动态/静态模式下的分页差异
静态模式生成的分页URL格式:
列表第一页: /news/index.html 列表第二页: /news/list_2.html 列表第三页: /news/list_3.html
动态模式下的分页URL格式:
列表第一页: /plus/list.php?tid=3 列表第二页: /plus/list.php?tid=3&PageNo=2 列表第三页: /plus/list.php?tid=3&PageNo=3