当前位置:网站首页 >  百科

帝国CMS标签调用置顶内容优先显示 零基础落地实操全步骤指南

时间:2026年05月30日 00:12:46 来源:易频IT社区

一、前置准备

1. 环境要求

当前方案支持帝国CMS7.0/7.2/7.5所有主流版本,操作前需确认:

  • 拥有后台超级管理员权限,可编辑模板、修改栏目配置
  • 需调用的栏目下已给对应文章设置了置顶属性(编辑文章时“置顶级别”设置为≥1即可)
  • 所有需要调用的文章已审核通过,状态为已发布

2. 核心实现逻辑

帝国CMS置顶内容存储在字段level中,level值越大置顶级别越高,排序时优先按level降序排列,再按发布时间/ID降序排列,即可实现置顶内容优先显示,多级置顶自动按级别排序。

二、方案一:灵动标签调用实现(90%场景适用)

1. 适用场景

支持首页、自定义页面、列表页任意位置调用,可指定多栏目、自定义调用数量、加置顶标识,灵活度最高。

2. 完整可复制代码

以下代码实现调用新闻模型(栏目ID=1)的10条已发布内容,置顶优先,置顶内容自动加【置顶】标识:

``` [e:loop={'select from [!db.pre!]ecms_news where classid=1 and checked=1 order by level desc, newstime desc limit 10',10,24,0}]
  • 0){ echo '[置顶]'; } ?>
  • [/e:loop] ```

    3. 参数修改说明

    • 数据表替换:如果调用下载/图片模型,将ecms_news替换为ecms_download/ecms_photo即可
    • 栏目修改:单栏目调用将classid=1的1改为目标栏目ID;多栏目调用改为classid in (1,2,3);全站调用删除classid条件即可
    • 仅调用置顶内容:在where条件中添加and level>0即可
    • 排序规则调整:同级内容如果需要按ID倒序,将newstime desc替换为id desc即可
    • 调用数量调整:将limit后的数值和灵动标签第二个参数(示例中的10)改为目标数值,两者保持一致
    • 不需要置顶标识:直接删除if判断的PHP代码段即可

    三、方案二:系统默认标签/列表页配置(适合新手)

    1. 单栏目默认列表页置顶优先配置

    帝国CMS标签调用置顶内容优先显示 零基础落地实操全步骤指南

    如果需要栏目列表页(含分页)的所有内容默认优先显示置顶,无需修改模板代码,按以下步骤操作:

    • 登录后台,进入【栏目】-【管理栏目】,找到目标栏目点击【修改】
    • 切换到【列表选项】标签,找到“列表排序方式”输入框,填入level desc, newstime desc
    • 保存配置后,点击【数据更新】-【更新栏目缓存】,再更新对应栏目页即可生效

    2. 万能标签无SQL调用配置

    不想写SQL的新手可以直接修改万能标签的默认排序,步骤如下:

    • 进入【模板】-【标签管理】-【管理标签】,找到“信息列表标签(ecmsinfo)”点击修改
    • 在“排序方式”输入框填入level desc, newstime desc,保存标签
    • 在模板中插入调用代码即可:[ecmsinfo]1,10,0,0,0,18,0[/ecmsinfo],其中1为栏目ID、10为调用数量、18为列表模板ID,按需修改即可

    四、常见问题排查

    1. 置顶内容没有优先显示

    • 检查对应文章的置顶级别是否≥1,文章是否已审核通过
    • 检查排序规则是否写反,必须是level desc,asc是升序会导致置顶内容排到最后
    • 检查SQL语句中的数据表名是否和对应模型匹配,不要写错表名

    2. 分页时置顶内容重复出现

    该问题出现在用自定义SQL的灵动标签调用分页列表场景,改为用上述方案二的栏目默认列表配置实现排序即可解决,系统默认列表分页会自动处理置顶内容的展示逻辑,不会重复。

    3. 多级置顶优先级不符合预期

    确认排序规则中level desc是第一个排序条件,不要把发布时间、ID排序放在level前面即可,level值越大的内容会自动排在最前面。

    五、效果验证步骤

    • 给目标栏目设置2篇不同级别的置顶文章、3篇普通文章,确保所有文章已审核发布
    • 保存模板修改后,点击后台【数据更新】,更新对应页面的静态缓存
    • 前台刷新页面,确认置顶内容排在最前面,级别更高的置顶内容排在级别低的前面,普通内容按发布时间排序
    • 列表页需翻页测试,确认置顶内容仅出现在第一页,后续页面不会重复展示置顶内容

    相关推荐

    最新

    热门

    推荐

    精选

    标签

    易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

    Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图