织梦cms栏目分页设置

栏目分页设置概述

织梦CMS的栏目列表页分页功能用于处理文章数量较多时的页面导航,它通过 {dede:pagelist} 标签配合 {dede:list} 标签的 pagesize 参数实现。合理的分页设置能提升用户体验和网站性能。

一、后台栏目分页设置

在栏目管理中设置默认分页参数:

  1. 进入 核心 > 栏目管理
  2. 点击目标栏目的"更改"
  3. 找到"栏目列表页"选项卡
  4. 设置"每页文章数"(即默认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