划线位置,也就是页面文章底部中间希望添加上 上一篇 下一篇按钮。
有的时候文章被删 文章ID 1。3。5。6这样,没有按顺序排列,也要正确跳转到下一篇,这种情况代码怎么添加?
跪求大佬帮助。
我的思路如下:
1.在文章显示数据整理部分直接获取上一篇文章和下一篇文章内容,代码如下:
/*获取上一篇文章*/
$preArticle = Article::where("id","<",$article->id)->where("status",">",0)->orderBy("id",'asc')->first();
/*获取下一篇文章*/
$nextArticle = Article::where("id",">",$article->id)->where("status",">",0)->orderBy("id",'asc')->first();
然后设置上一篇和下一篇文章变量,这样view层就可以直接用了,代码如下:
return view("theme::article.show")->with('article',$article)
->with('topUsers',$topUsers)
->with('relatedQuestions',$relatedQuestions)
->with('relatedArticles',$relatedArticles)
->with('preArticle',$preArticle) //新添加的上一篇文章
->with('nextArticle',$nextArticle); //新添加的下一篇文章
2.视图层逻辑,修改resources/views/themes/default/article/show.blade.php模板文件,加入下面的代码,样式自己调整。
<div class="text-center">
@if($preArticle) 上一篇:<a href="{{ route('blog.article.detail',['article_id'=>$preArticle->id]) }}">{{ $preArticle->title }}</a>@endif
@if($nextArticle) 下一篇:<a href="{{ route('blog.article.detail',['article_id'=>$nextArticle->id]) }}">{{ $nextArticle->title }}</a>@endif
</div>
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!