使用灵动标签按点击量排序调用全站热门文章,直接在模板插入代码即可实现。

调用全站热门文章,核心是按点击量(onclick字段)排序。帝国CMS提供了几种简单有效的方法,无需复杂编程,直接在模板里写标签就行。
使用灵动标签直接调用
这是最常用也最灵活的方式,直接在需要显示的地方插入代码。
基本语法:
[e:loop={'select * from [!db.pre!]ecms_news where checked=1 order by onclick desc limit 10', 10, 24, 0}]=$bqr['title']?>
[/e:loop]
- select语句:查询已审核(checked=1)的文章,按onclick点击数降序排列,limit 10表示取前10条
- 第2个参数10:显示条数,和sql里的limit保持一致
- 第3个参数24:操作类型,24代表“按SQL语句调用”,必须这么写
- 第4个参数0:是否显示栏目名,0为不显示
如果想调用特定栏目,比如classid=6的新闻,把sql改成where classid=6 and checked=1即可。
通过自定义JS实现异步调用
适合放在侧边栏、页脚等公共区域,避免影响主页面加载速度。
- 登录后台,进入“栏目” -> “自定义JS” -> “增加自定义JS”
- 名称填“全站热门文章”方便识别
- SQL语句写:select * from [!db.pre!]ecms_news where checked=1 order by onclick desc limit 10
- 保存后,在模板中用script标签引用生成的js文件地址
例如:
注意修改完JS模板后要刷新“所有自定义JS”才能生效。
用ecmsinfo标签快速调用
系统内置的快捷方式,配置更简单。
[ecmsinfo]"select * from [!db.pre!]ecms_news where checked=1 order by onclick desc limit 10",10,24,0,24,2,0[/ecmsinfo]- 第一个10:显示数量
- 第一个24:标题截取字数,这里实际由SQL控制
- 第二个24:操作类型,同样填24表示自定义SQL
- 2:使用的列表模板ID
这种方法把SQL直接嵌入标签,适合不想写完整循环代码的场景。
基本上就这些方法,选一种适合你模板结构的就行。灵动标签最灵活,JS方式适合异步加载,ecmsinfo则更简洁。记得测试时清下缓存,确保看到最新数据。










