帝国cms怎么调用上一篇和下一篇文章
1. 基本调用标签
在内容模板(如:文章内容页 .dwt 文件)中,使用以下代码即可调用上一篇和下一篇文章:
[!--info.pre--] :调用上一篇文章链接
[!--info.next--] :调用下一篇文章链接
这两个是系统内置的替换变量,会自动根据当前文章的位置生成对应的链接。例如:
<p>上一篇:[!--info.pre--]</p>
<p>下一篇:[!--info.next--]</p>
输出结果类似:
上一篇:<a href="/news/2024-05/123.html">这是上一篇文章标题</a>
下一篇:<a href="/news/2024-05/125.html">这是下一篇文章标题</a>
2. 自定义调用样式(灵动标签)
如果想更灵活地控制显示格式(比如只显示标题、添加缩略图、限制字数等),可以使用帝国CMS的灵动标签(ecms)结合SQL查询实现。
示例:调用上一篇文章(按ID倒序查找小于当前文章ID的最新一篇)
[e:loop={"select * from [!db.pre!]ecms_news where id < '$navinfor[id]' and classid='$navinfor[classid]' order by id desc limit 1",1,24,0}]
<p>上一篇:<a href="<?=sys_ReturnBqTitleLink($bqr)?>" title="<?=$bqr[title]?>"><?=esub($bqr[title],40)?></a></p>
[/e:loop]
调用下一篇文章(查找大于当前ID的第一篇):
[e:loop={"select * from [!db.pre!]ecms_news where id > '$navinfor[id]' and classid='$navinfor[classid]' order by id asc limit 1",1,24,0}]
<p>下一篇:<a href="<?=sys_ReturnBqTitleLink($bqr)?>" title="<?=$bqr[title]?>"><?=esub($bqr[title],40)?></a></p>
[/e:loop]
说明:
- $navinfor[id] 和 $navinfor[classid] 是当前文章的ID和栏目ID,需在“带模板的标签”中启用“使用程序代码”
- [!db.pre!]ecms_news 需根据实际数据表修改(如使用其他模型请对应替换为 ecmps_download、ecms_photo 等)
- esub($bqr[title],40) 表示截取标题前40个字符
- sys_ReturnBqTitleLink($bqr) 自动生成文章链接






