
在使用帝国CMS建站时,如果需要调用指定作者发布的所有文章,可以通过灵动标签结合SQL查询来实现。系统默认的调用方式不直接支持作者筛选,因此需手动指定作者ID或作者名进行数据提取。
通过作者ID调用文章
若已知作者的会员ID(userid),可直接使用以下灵动标签代码:
[e:loop={"select * from [!db.pre!]ecms_news where userid=作者ID and checked=1 order by newstime desc",10,24,0}]<a href="[$]bqsr[titleurl]]">[$]bqr[title]]</a><br>[/e:loop]
说明:将“作者ID”替换为实际的用户ID,10表示显示条数,24为操作类型(一般为24),checked=1确保只调用已审核的文章。
通过作者用户名调用文章
如果只知道作者名称而没有ID,可以先关联会员表进行查询:
[e:loop={"select a.* from [!db.pre!]ecms_news a,[!db.pre!]enewsmemberadd b where a.userid=b.userid and b.useran=’作者用户名’ and a.checked=1 order by a.newstime desc",10,24,0}]<a href="[$]bqsr[titleurl]]">[$]bqr[title]]</a><br>[/e:loop]
注意:将‘作者用户名’换成真实用户名,并确认会员扩展表中字段名为username(部分版本可能略有不同)。
前台模板中的灵活应用
可在内容页或作者介绍页动态获取当前文章作者的文章列表:
使用$navinfor变量获取当前文章作者ID:$navinfor[‘userid’]结合PHP代码嵌入模板中,实现自动匹配当前作者的所有文章
示例:
<?php$userid=$navinfor[‘userid’];?>[e:loop={"select * from [!db.pre!]ecms_news where userid=’$userid’ and checked=1 order by newstime desc",10,24,0}]<a href="[$]bqsr[titleurl]]">[$]bqr[title]]</a><br>[/e:loop]
基本上就这些方法,根据实际需求选择按ID、用户名或动态变量调用即可。关键在于正确关联数据表并过滤有效信息,避免调出未审核或不属于该作者的内容。

评论(0)