帝国CMS的灵动标签功能非常强大,常用于首页、列表页或内容页中调用指定条件的文章。如果想实现随机调用文章,只需在灵动标签中调整SQL查询逻辑即可。下面介绍几种实用的随机调用技巧。

使用orderby=rand()实现随机调用

在灵动标签中,通过设置[!------empirenews.page------]中的SQL语句,加入ORDER BY RAND()即可实现随机排序。这是最直接有效的方法。

示例代码:

[e:loop={"select * from [!db.pre!]ecms_news where checked=1 order by rand() desc limit 10",10,24,0}]

<a href="<?=$bqsr['titleurl'] ?>"><?=$bqr['title']?></a><br>

[/e:loop]

说明:

- order by rand() 表示按随机顺序排列

- limit 10 表示调用10篇文章

- 可根据需要修改数据表名(如ecms_news)和调用数量

按特定条件随机调用文章

有时需要在某个栏目或类别中随机调用文章,可在SQL中加入条件筛选。

例如:调用栏目ID为5的文章,且已审核:

[e:loop={"select * from [!db.pre!]ecms_news where classid=5 and checked=1 order by rand() desc limit 8",8,24,0}]

<a href="<?=$bqsr['titleurl'] ?>"><?=$bqr['title']?></a><br>

[/e:loop]

也可使用classid in (5,6,7)来调用多个栏目的文章。