在帝国CMS内容页中调用同栏目下的相关文章,可通过灵动标签结合当前栏目ID实现,排除当前文章并按时间倒序显示最新10篇。

在帝国CMS内容页中调用相关栏目的文章,可以通过灵动标签(e:loop)结合栏目ID或标题分类等方式实现。关键在于判断当前内容所属栏目,并调用该栏目下的其他文章,达到“相关文章”的展示效果。
1. 调用同栏目下的相关文章
使用灵动标签直接调用当前栏目下的其他信息,排除当前文章本身:
[e:loop={"select * from [!db.pre!]ecms_news where classid='$navinfor[classid]' and id$navinfor[id] order by newstime desc limit 10",10,24,0}]-
classid='$navinfor[classid]'表示当前内容所在的栏目ID -
id$navinfor[id]排除当前文章 -
limit 10显示10条相关文章 - 适用于新闻模型(ecms_news),其他模型需修改数据表名
2. 按标题关键词匹配相关文章
如果希望根据文章标题中的关键词来匹配相关内容,可使用如下方法:
[e:loop={"select * from [!db.pre!]ecms_news where ($or) and id$navinfor[id] order by newstime desc limit 8",8,24,0}]- 将当前标题拆分为关键词,查找包含相同词的文章
- 适合语义相近的内容推荐
- 注意关键词过短可能造成误匹配
3. 调用当前标题分类下的文章
若使用了“标题分类”,可通过tstb字段和标题分类ID进行调用:
[e:loop={"select * from [!db.pre!]ecms_news where ttid='$navinfor[ttid]' and id$navinfor[id] order by newstime desc limit 6",6,24,0}]-
ttid是标题分类ID字段 - 确保文章设置了标题分类才有效
- 适合专题类内容聚合
基本上就这些常用方式。选择哪种方法取决于你的“相关”定义:是同栏目、同关键词,还是同标题分类。灵活组合标签,就能实现精准的相关文章推荐。










