TP5は前の記事次の記事を簡単に実現します

TP5は前の記事次の記事を簡単に実現します

前と次のような小さな機能を使ったプロジェクトに取り組んでいます。インターネット上にも同様の機能ブロックがあるはずです。バラバラは見つかりませんでした。問題がありました。自分で書くことができず、みんなと共有しましょう。

まず、前の記事と次の記事の列について説明することがいくつかあります。現在、トップレベルの列1と2つの第2レベルの列2と第2レベルの列3の3つの列があります。記事を公開しますが、最上位の列表示をクリックすると、通常、サブ列のコンテンツが表示されるため、2つの状況があります。前者の場合、第2レベルの列から記事に直接アクセスします。記事に対応する前後の記事は、現在の列から検索する必要があります。ない場合は、検索するように求められます。 。状況2:トップレベルの列から記事にアクセスしている場合、この記事が属する列から検索するだけでなく、これらの3つの列から検索することもできると思います。もちろん、面倒な場合は検索することもできます。現在の記事が属する列の記事のみを検索します。

これが私の方法です:

クラスで記述されたメソッド:

パブリック関数インデックス($ aid)

{

	$arts=db('article')->find($aid);//当前文章所有信息

	$cid=$arts['cate_id'];//当前栏目id

	$soncids=model('cate')->getChildIds($cid);//这个方法是自己写的,根据当前栏目的id查找所有子栏目的id

	$soncids[]=intval($cid);//获取包含当前栏目在内的子栏目的id数组

	$prev=db('article')->where('cate_id','in',$soncids)->where('id','<',$aid)->limit(1)->find();//上一篇文章

	$next=db('article')->where('cate_id','in',$soncids)->where('id','>',$aid)->limit(1)->find();//下一篇文章

	$this->assign([

		'arts'=>$arts,

		'prev'=>$prev,

		'next'=>$next,

		]);

    return view('newsdetail');

}

テンプレートレイヤーの適用:

<div class="prev col-lg-6 col-md-12 col-sm-12 clo-xs-12">

	{if condition="$prev"}

	<a href="{:url('Article/index',array('aid'=>$prev['id']))}">上一篇:{$prev.title}</a>

	{else /}

	上一篇:暂时没有了~

	{/if}

</div>

<div class="next col-lg-6 col-md-12 col-sm-12 clo-xs-12">

	{if condition="$next"}

	<a href="{:url('Article/index',array('aid'=>$next['id']))}">下一篇:{$next.title}</a>

	{else /}

	下一篇:暂时没有了~

	{/if}

</div>

おすすめ

転載: blog.csdn.net/weixin_45557228/article/details/109574470