dede class如何固定顺序调用?

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

在数据库层面进行排序,而不是依赖系统默认的字段。

dede class 固定顺序调用
(图片来源网络,侵删)

使用 id 排序(最常用、最推荐)

这是最简单、最直接的方法,DedeCMS 的栏目 ID 是自增的,通常按照添加的顺序递增,如果你想让栏目按照它们被创建的顺序(即 ID 顺序)显示,可以直接按 id 排序。

适用场景

  • 新建网站,栏目按照你想要的顺序一个一个创建。
  • 后期需要调整顺序时,可以在后台通过“栏目管理” -> “选择栏目” -> “上移/下移”来调整它们的 ID 顺序(这实际上是调整了它们在数据表中的物理位置)。

实现方法

在你需要调用栏目的模板文件中(通常是 include/typelinklist.htm 或其他自定义列表模板),找到栏目调用标签,修改 orderbyorderway 属性。

原始标签(默认按排序值降序):

{dede:channel type='top' row='8'}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

修改为按 id 升序(即添加顺序):

dede class 固定顺序调用
(图片来源网络,侵删)
{dede:channel type='top' row='8' orderby='id' orderway='asc'}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

参数解释:

  • orderby='id': 指定按栏目主键 ID 进行排序。
  • orderway='asc': 指定排序方式为升序(从小到大,即 1, 2, 3...),如果你想要倒序,可以改为 orderway='desc'

使用自定义字段 sortrank 并手动赋值

如果你已经建好了很多栏目,并且不想通过调整 ID 来改变顺序,或者你希望有更灵活的、与栏目创建顺序无关的排序方式,那么最佳实践是使用系统自带的 sortrank 字段,并手动为每个栏目设置一个你想要的固定顺序值。

适用场景

  • 网站已经建成,栏目很多,且 ID 顺序混乱。
  • 你需要一个完全由自己控制的、与栏目创建无关的固定顺序。
  • 希望未来能方便地调整顺序,而不需要修改数据库。

实现步骤

第一步:为每个栏目设置 sortrank

  1. 登录 DedeCMS 后台。
  2. 进入【核心】 -> 【栏目管理】。
  3. 找到你想要调整顺序的顶级栏目(或子栏目)。
  4. 点击栏目名称进入编辑页面。
  5. 在编辑页面,找到 “排序” 这个输入框(这个字段对应的数据库就是 sortrank)。
  6. 在这里输入一个固定的数字,这个数字的大小决定了栏目的先后顺序。数字越小,排序越靠前
    • 你希望“公司简介”排在第一,就给它输入 10
    • “产品中心”排在第二,就给它输入 20
    • “联系我们”排在第三,就给它输入 30
    • ...以此类推,为了方便以后插入新栏目,可以按 10 或 100 的步进值来设置,10, 20, 30... 或 100, 200, 300...
  7. 点击【确定】保存。

对所有需要固定顺序的栏目都重复此操作。

dede class 固定顺序调用
(图片来源网络,侵删)

第二步:修改模板调用标签

模板标签的写法和方法一类似,只是我们明确告诉它要按 sortrank 排序。

原始标签:

{dede:channel type='top' row='8'}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

修改为按 sortrank 升序(即你设置的值从小到大):

{dede:channel type='top' row='8' orderby='sortrank' orderway='asc'}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

参数解释:

  • orderby='sortrank': 明确指定按 sortrank 字段排序。
  • orderway='asc': 升序排列,这样 sortrank 值为 10 的栏目就会排在值为 20 的栏目前面。

总结与对比

方法 优点 缺点 适用情况
id 排序 简单快捷,无需额外设置。
适合新站,栏目创建顺序即显示顺序。
顺序与栏目创建时间绑定,不够灵活。
后期调整顺序需要手动移动栏目,操作稍显繁琐。
新建网站,对顺序要求不高,或顺序基本固定。
sortrank 排序 灵活性最高,完全由自己控制。
调整顺序非常方便,只需后台改一个数字。
是 DedeCMS 的标准做法,符合系统设计逻辑。
需要手动为每个栏目设置一次初始值。 绝大多数情况下的首选方案,特别是对已建成或对顺序有明确、灵活要求的网站。

强烈推荐使用方法二,因为它更规范、更灵活,是处理栏目排序问题的最佳实践。

-- 展开阅读全文 --
头像
C语言如何调用Mathematica进行计算?
« 上一篇 今天
如何在Linux CentOS下编写C语言程序?
下一篇 » 今天

相关文章

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

目录[+]