使用过织梦dedecms的站长朋友都知道,在织梦模板使用orderby='rand'
即可实现随机文章列表,而帝国CMS(EmpireCMS)V7.5的文章列表排序中并没有这个选项,如果想在帝国CMS(EmpireCMS)V7.5模板中设置随机列表,则需通过SQL查询的方式来写标签,下面以新闻数据表为例,分享几种调用随机文章的方法:
调用全站随机文章:
在帝国CMS的操作类型中,24表示按SQL查询,假如我要随机调用8篇文章,标签应该这样写:[ecmsinfo]"select * from phome_ecms_news order by rand() desc limit 8",8,99,0,24,2,0[/ecmsinfo]
标签代码中的8表示调用8篇文章,99表示标题字数,紧接着的0表示“不显示栏目名称”,24表示操作类型是SQL查询,2表示模板ID,最后一个0表示不限制是否有标题图片。 如果使用灵动标签调用随机文章,可以这样写标签:
[e:loop={'select * from [!db.pre!]ecms_news order by rand() desc limit 10',10,24,0}]
<li><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]
随机调用id为n的栏目下的文章:
[ecmsinfo]"select * from phome_ecms_news where classid in (n) order by rand() desc limit 8",8,99,0,24,2,0[/ecmsinfo]
标签代码中的classid in (n)
表示调用的文章栏目ID为n
,比如栏目ID为3
,则写为classid in (3)
。 随机调用多个栏目下的文章:
[ecmsinfo]"select * from phome_ecms_news where classid in (2,3,4) order by rand() desc limit 8",8,99,0,24,2,0[/ecmsinfo]
标签代码中的(2,3,4)表示所调用的多个栏目的ID。 如果使用灵动标签调用指定栏目的随机列表,可以这样写:
[e:loop={'select * from [!db.pre!]ecms_news where classid in (n) order by rand() desc limit 10',10,24,0}]
<li><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]
标签代码中的where classid in (n)
,n
可以指定某个或多个栏目的ID…… 相关阅读: 帝国CMS调用随机文章列表的方法合集 - 小泽笔记