希望栏目在列表页(首页、频道页)中始终显示,不被后续内容“顶下去”
这是最常见的理解,织梦的列表页默认是按发布时间倒序排列的,新发布的文章会把旧的文章“顶”到下一页,如果你想让某个特定的栏目(公告”、“置顶文章”)始终保持在列表的最顶部,可以使用以下方法。

方法1:使用“置顶”功能(最简单、最推荐)
这是织梦CMS内置的功能,无需修改代码,最适合用于少数几篇重要文章。
- 进入后台:登录织梦DedeCMS后台。
- 找到文章:在“[核心] -> [内容维护] -> [文档列表]”中,找到你希望始终显示在顶部的文章。
- 设置置顶:
- 在文章列表中,找到该文章所在行。
- 在 “置顶” 这一列的下拉菜单中,选择 “是”。
- 你可以设置置顶的天数,
9999天,或者直接留空表示长期置顶。
效果:所有被标记为“置顶”的文章,会按照你设定的置顶优先级(如果多篇置顶,按发布时间倒序)排在所有非置顶文章的最前面。
优点:
- 无需修改任何代码,系统原生支持。
- 操作简单,灵活,可以对单篇文章进行操作。
缺点:

- 只能针对单篇文章,不能针对整个栏目进行置顶。
方法2:使用“频道封面”功能(推荐用于整个栏目)
如果你的“公告”栏目或“重要新闻”栏目希望作为一个整体始终显示在频道页(列表页)的顶部,可以使用“频道封面”功能。
-
进入后台:登录织梦DedeCMS后台。
-
进入栏目管理:在“[核心] -> [栏目管理] -> [栏目管理]”中,找到你希望始终显示在顶部的那个栏目(公告”)。
-
修改栏目属性:
(图片来源网络,侵删)- 点击该栏目名称进入编辑页面。
- 在 “栏目属性” 部分,勾选 “频道封面”。
- 在 “列表选项” 部分,选择 “仅动态” 或 “仅静态”,并设置好每页显示的文章数量。
- 关键步骤:在 ” 部分,选择 “使用交叉栏目”,然后勾选你希望在这个“频道封面”页面上显示的其他内容栏目(公司新闻”、“行业动态”等),这样,这个“公告”频道封面页既能显示自己栏目的内容,也能聚合其他栏目的内容。
- 保存修改。
-
修改模板:
- 你需要修改你的列表页模板(通常是
list_article.htm)。 - 在你希望显示“频道封面”的位置(比如最顶部),添加以下代码:
{dede:channelartlist typeid='这里填入你的频道封面栏目ID'} <div class="channel-cover"> <h2>{dede:field name='typename'/}</h2> {dede:arclist titlelen='30' row='5'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist} </div> {/dede:channelartlist}- 将
typeid='这里填入你的频道封面栏目ID'替换为你在第3步中设置的“频道封面”栏目的ID。
- 你需要修改你的列表页模板(通常是
效果:这个“频道封面”栏目会作为一个独立的模块,始终显示在列表页的顶部,其内容和样式都可以自定义。
优点:
- 可以将整个栏目作为一个模块固定显示。
- 功能强大,可以聚合多个栏目的内容。
- 结构清晰,适合做专题或重要板块。
缺点:
- 需要修改模板文件,对新手有一定门槛。
- 需要合理规划栏目结构。
方法3:修改数据库或代码(高级用法,不推荐新手)
这种方法可以实现“栏目置顶”,让某个栏目的所有文章都排在最前面。风险较高,操作前务必备份数据库!
原理:织梦默认按 sortrank(排序值)降序排列文章,我们可以给特定栏目的所有文章设置一个极高的 sortrank 值。
-
备份数据库:这是最重要的一步!
-
执行SQL语句:
- 进入织梦后台的 “系统” -> “SQL命令行工具”。
- 在命令框中输入以下SQL语句(请将
你的栏目ID替换为实际的数字ID):
UPDATE `dede_archives` SET `sortrank` = 9999999999 WHERE `typeid` = '你的栏目ID';
点击“查询”或“执行”。
效果:该栏目下所有文章的 sortrank 值都会被设置为一个极大的数字,因此在列表页排序时,它们会自动排在最前面。
优点:
- 一劳永逸,设置后无需额外操作。
- 可以让整个栏目的内容都置顶。
缺点:
- 有风险:直接操作数据库可能导致未知错误。
- 不灵活:如果需要取消置顶,需要再次执行SQL将其改回原值。
- 会影响系统默认的排序逻辑。
希望栏目在后台的“栏目管理”列表中保持顺序,不按默认的ID排序
织梦后台的栏目管理默认是按栏目ID排序的,如果你希望按照你自定义的顺序显示(比如首页、公司简介、产品中心、新闻中心...),可以通过以下方法实现。
方法:使用“排序”权重
- 进入后台:登录织梦DedeCMS后台。
- 进入栏目管理:“[核心] -> [栏目管理] -> [栏目管理]”。
- 设置权重:
- 在栏目列表中,你会看到一列叫做 “排序”(或类似“权重”、“sort”)。
- 为你希望排在最前面的栏目设置一个较小的数字(
1)。 - 为希望排在后面的栏目设置一个较大的数字(
10、100)。 - 数字越小,在列表中的排序越靠前。
效果:保存后,刷新栏目管理页面,你会发现栏目的顺序已经按照你设置的“排序”值从小到大重新排列了。
优点:
- 系统内置功能,安全、简单。
- 可以任意调整栏目的前后顺序。
缺点:
- 无。
总结与建议
| 你的需求 | 推荐方案 | 优点 | 缺点 |
|---|---|---|---|
| 让几篇重要文章始终在列表最前 | 方法1:使用“置顶”功能 | 简单、原生、灵活 | 只能针对文章,不能针对栏目 |
| 让一个重要栏目(如“公告”)整体在列表最前 | 方法2:使用“频道封面”功能 | 功能强大、结构清晰、可聚合内容 | 需要修改模板,有学习成本 |
| 让某个栏目的所有文章都排在最前 | 方法3:修改数据库(谨慎使用) | 一劳永逸 | 风险高,不灵活,影响系统排序逻辑 |
| 希望在后台栏目管理列表中自定义顺序 | 使用“排序”权重 | 简单、安全、系统原生 | 无 |
对于绝大多数用户来说,方法1(置顶) 和 方法2(频道封面) 是解决“保持列表栏目”需求最常用、最安全、最有效的途径,请根据你的具体需求选择最适合你的方案。
