dede首页分页标签如何正确使用?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文

在 DedeCMS 中,首页的分页主要通过 arclist 标签结合其 pagenototalpage 等属性来实现,这主要用于两种常见场景:

dede首页分页标签
(图片来源网络,侵删)
  1. 首页列表分页:首页本身就是一个文章列表,当文章数量超过设定的 listnum 时,需要分页显示。
  2. 首页调用指定栏目并分页:在首页调用某个或某几个特定栏目的文章列表,并进行分页。

下面我将分步讲解如何实现这两种情况,并提供完整的代码示例和注意事项。


核心标签:arclist

arclist 是 DedeCMS 最强大、最常用的列表调用标签,它的分页功能也是通过这个标签自身的属性控制的。

关键分页属性:

  • typeid: 调用指定栏目的ID,如果为空或为0,则调用所有栏目的内容。(分页时,强烈建议指定 typeid,否则分页逻辑可能混乱)
  • row: 每页显示的文章数量,len`: 标题长度。
  • limit: 分页的起始位置和结束位置,格式为 起始位置, 显示数量limit='0,10' 表示从第0条开始,显示10条,这个属性通常与 {dede:page/} 标签配合使用,由系统自动填充。
  • ismake: 是否生成静态页面,通常为0(动态)。
  • orderway: 排序方式,desc 为降序(默认),asc 为升序。

首页列表分页

这是最直接的分页方式,即首页内容本身就是分页的。

操作步骤:

  1. 修改首页模板 (index.htm) 在需要显示文章列表的地方,使用 arclist 标签调用内容,为了分页,arclist 标签需要包裹在一个具有唯一ID的 div 中。

    dede首页分页标签
    (图片来源网络,侵删)
    <!-- 首页主要内容区 -->
    <div id="main-content">
      <!-- 首页文章列表分页开始 -->
      <div class="list">
        {dede:arclist typeid='0' row='10' titlelen='30' orderby='pubdate' orderway='desc'}
        <li>
          <a href="[field:arcurl/]">[field:title/]</a>
          <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
        </li>
        {/dede:arclist}
        <!-- 分页条 -->
        <div class="dede_pages">
          <ul class="pagelist">
            {dede:page/}
          </ul>
        </div>
      </div>
      <!-- 首页文章列表分页结束 -->
    </div>
  2. 后台设置

    • 进入后台 -> 系统 -> 系统基本参数 -> 核心设置
    • 找到 “首页文件名”,确保是 index.htm
    • 找到 “首页文档默认分页条样式”,你可以选择一个内置的样式,或者自定义。
    • 进入后台 -> 生成 -> 更新主页,重新生成首页。

代码解析:

  • {dede:arclist ...}: 调用文章列表。
    • typeid='0': 调用所有顶级栏目,如果你的首页只显示某个栏目,请填写对应的栏目ID,typeid='1'
    • row='10': 这是每页显示的数量,这是控制分页的关键。
  • {dede:page/}: 这是分页的核心标签,它会自动根据 arclistrow 和总文章数,生成上一页、下一页、页码等链接。

首页调用指定栏目并分页

这是更常见的需求,比如想在首页的某个侧边栏或特定区块调用“产品展示”栏目的文章,并且这个区块也要分页。

操作步骤:

  1. 获取栏目ID 进入后台的【栏目管理】,找到你想要在首页调用的栏目,记下它的ID(产品展示栏目的ID是 3)。

  2. 修改首页模板 (index.htm) 在你希望显示该栏目列表的位置,插入如下代码:

    dede首页分页标签
    (图片来源网络,侵删)
    <!-- 首页指定栏目列表分页开始 -->
    <div class="product-list">
      <h3>产品展示</h3>
      {dede:arclist typeid='3' row='5' titlelen='40' orderby='pubdate' orderway='desc'}
      <div class="item">
        <a href="[field:arcurl/]">
          <img src="[field:litpic/]" alt="[field:title/]">
          <p>[field:title/]</p>
        </a>
      </div>
      {/dede:arclist}
      <!-- 分页条 -->
      <div class="dede_pages">
        <ul class="pagelist">
          {dede:page/}
        </ul>
      </div>
    </div>
    <!-- 首页指定栏目列表分页结束 -->
  3. 后台设置与生成

    • 重要:这种分页方式默认是动态的,如果你希望这些列表页也是静态的,你需要为这个栏目生成列表页。
    • 进入后台 -> 生成 -> 目录批量更新
    • 在“选择栏目”中,选择你的“产品展示”栏目(ID为3的栏目)。
    • 点击“开始生成”,系统会为该栏目生成 list_3_1.html, list_3_2.html 等静态列表页。
    • 首页上的分页链接会自动指向这些生成的静态页面。

代码解析:

  • typeid='3': 这是关键,它限定了 arclist 只调用ID为3的栏目下的文章,因此分页也只针对这个栏目。
  • row='5': 每页显示5个产品。
  • {dede:page/}: 同样,它会根据栏目ID为3的文章总数和每页5条的数量来生成分页。

高级与注意事项

自定义分页样式

{dede:page/} 生成的分页HTML结构比较固定,如果你想自定义样式,可以修改DedeCMS的源文件,但更推荐的是使用CSS来覆盖其样式。

默认的 pagelist 可能会有一些默认的类名,你可以这样用CSS来美化:

/* 自定义分页样式 */
.dede_pages .pagelist {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 5px;
}
.dede_pages .pagelist li {
  display: inline-block;
}
.dede_pages .pagelist a,
.dede_pages .pagelist span {
  display: block;
  padding: 5px 10px;
  border: 1px solid #ddd;
  text-decoration: none;
  color: #333;
}
.dede_pages .pagelist a:hover {
  background-color: #f0f0f0;
}
.dede_pages .pagelist span.current { /* 当前页样式 */
  background-color: #007bff;
  color: white;
  border-color: #007bff;
}

避免首页分页混乱

  • 指定 typeid:如前所述,如果你的首页有多个分页区块,务必为每个 arclist 指定不同的 typeid,否则分页逻辑会相互干扰。
  • 使用不同的容器:确保每个分页区块都有独立的父容器(如 div),并给予不同的ID或类名,以便CSS和JS进行区分。

首页分页与SEO

  • 静态化优先:对于有分页的首页或重要栏目列表页,强烈建议生成静态HTML,静态页面加载更快,对搜索引擎更友好。
  • 规范URL:确保分页URL清晰明了,index_2.htmllist_3_2.html,避免使用 ?p=2 这样的动态参数(除非你做了伪静态)。
功能 核心标签 关键属性 说明
首页列表分页 {dede:arclist} + {dede:page/} typeid, row typeid建议指定,row控制每页数量。
指定栏目分页 {dede:arclist} + {dede:page/} typeid (指定栏目ID), row typeid是区分不同分页区块的关键。
分页条 {dede:page/} - 自动生成,可配合CSS自定义样式。

通过以上方法,你就可以灵活地在 DedeCMS 首页实现各种分页需求了,如果遇到问题,请首先检查 typeidrow 属性是否正确设置。

-- 展开阅读全文 --
头像
织梦后台上传缩略图失败怎么办?
« 上一篇 今天
织梦用啥编辑器?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]