帝国CMS内容页调用上一篇和下一篇的自定义方法

大家都知道帝国CMS的上一篇调用代码是[!--info.pre--],下一篇的调用代码是[!--info.next--],但是这种方法比较局限,因为帝国CMS默认的上一篇和下一篇是默认加了样式的,在一些特殊的模版效果上就会出现错位,其实也很好解决,用以下代码就可以轻松实现自定义调用上一篇和下一篇。

一、动态调用上一篇下一篇链接
动态调用上一篇链接  

<a href="[!--news.url--]e/public/GotoNext?classid=[!--classid--]&id=[!--id--]&enews=pre">上一篇</a>

动态调用下一篇链接  

<a href="[!--news.url--]e/public/GotoNext?classid=[!--classid--]&id=[!--id--]&enews=next">下一篇</a>

二、灵动标签和SQl语句调用
 上一篇链接:  

[e:loop={"select id,classid,newspath,filename,groupid,titleurl from [!db.pre!]ecms_".$class_r[$navinfor[classid]]['tbname']." where id<".$navinfor[id]." and classid=".$navinfor[classid]." and checked=1 order by id desc limit 1",1,24,0}] 
<?php  
$titleurl=sys_ReturnBqTitleLink($bqr);  
echo $titleurl;  
[/e:loop]

下一篇链接:(把小于号改成大于号)  

[e:loop={"select id,classid,newspath,filename,groupid,titleurl from [!db.pre!]ecms_".$class_r[$navinfor[classid]]['tbname']." where id>".$navinfor[id]." and classid=".$navinfor[classid]." and checked=1 order by id desc limit 1",1,24,0}]  
<?php  
$titleurl=sys_ReturnBqTitleLink($bqr);  
echo $titleurl;  
[/e:loop]

三、运用灵动标签调用,比较简洁的方式

<!--上一篇-->  
[e:loop={'selfinfo',1,0,0,'id<'.$navinfor[id].'','id desc'}]  
<a href="<?php   
echo $bqsr[titleurl];  
$pre='true';  
?>">上一篇:<?=$bqr[title]?>  
</a>  
[/e:loop]  
<?php   
if(emptyempty($pre)){  
echo "上一篇:很抱歉没有了";  
}  
?>  
<!--下一篇-->  
[e:loop={'selfinfo',1,0,0,'id>'.$navinfor[id].'','id asc'}]  
<a href="<?php
echo $bqsr[titleurl];  
$next='true';  
?>">下一篇:<?=$bqr[title]?>  
</a>  
[/e:loop]  
<?php   
if(emptyempty($next)){  
echo "下一篇:很抱歉没有了";  
}  
?>

四、控制上一篇下一篇标题字数(截取30个字符为例)
运用:<?=esub($bqr[title],30)?> 代码(标题长度)

<!--上一篇-->  
[e:loop={'selfinfo',1,0,0,'id<'.$navinfor[id].'','id desc'}]  
<a href="<?php   
echo $bqsr[titleurl];  
$pre='true';  
?>">上一篇: <?=esub($bqr[title],30)?></a>  
[/e:loop]  
<?php   
if(emptyempty($pre)){  
echo "上一篇:很抱歉没有了";  
}  
?>  
<!--下一篇-->  
[e:loop={'selfinfo',1,0,0,'id>'.$navinfor[id].'','id asc'}]  
<a href="<?php   
echo $bqsr[titleurl];  
$next='true';  
?>">下一篇:<?=esub($bqr[title],30)?>  
</a>  
[/e:loop]  
<?php   
if(emptyempty($next)){  
echo "下一篇:很抱歉没有了";  
}  
?>

以上代码仅供参考,还需要根据你的模版修改相关的代码。

给TA打赏
共{{data.count}}人
人已打赏
帝国CMS教程

PHP Warning: Division by zero in的解决方法

2026-3-10 16:17:24

帝国CMS教程

帝国CMS模板调用今天当天或者24小时内的信息

2026-3-10 22:06:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索