Thinkphp6 文章显示上一篇、下一篇
本文实例讲述了thinkphp实现上一篇与下一篇的方法。分享给大家供大家参考。具体实现方法如下:
公共控制器Base.php
//显示上一篇 下一篇 protected function frontafter($id) { //上一篇 $front = Db::table('zy_article')->where('id < '.$id)->order('id desc')->limit('1')->find(); View::assign('front',$front); //下一篇 $after = Db::table('zy_article')->where('id > '.$id)->order('id asc')->limit('1')->find(); //模板赋值 View::assign('after',$after); }
文章页控制器调用
<?php declare (strict_types = 1); namespace app\blog\controller; use thin\App; use think\facade\Db; use think\facade\View; use think\facade\Cookie; use think\facade\Request; use app\blog\controller\Base; class Article extends Base { public function index() { $id = input('id/d', 0); if (!$id) { return View::fetch('common/my404'); } //其他代码..... //显示上一篇 下一篇 $this->frontafter($id); return View::fetch('article'); } }
模板文件:
<div class="nextinfo"> <p>上一篇: {empty name="$front"} 没有更早的文章了... {else} <a href="{:url('article/'.$front.id)}">{$front.title}</a> {/empty} </p> <p>下一篇: {empty name="$after"} 没有最新的文章了... {else} <a href="{:url('article/'.$after.id)}">{$after.title}</a> {/empty} </p> </div>