Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Yii2 Framework Sayfa İçi Arama

Öncelikle frontend/views/layout/main.php sayfasında form oluşturalım. Arama yapacağımız input bu sayfada olacak.

<form action="<?=Yii::$app->request->getHostInfo()?>">
	<input type="text" name="ara" autocomplete="off"  placeholder="Sayfa, kişi veya kelime ara..." value="<?=!empty(Yii::$app->request->get('ara'))?Yii::$app->request->get('ara'):''?>">
</form>

form içinden SiteController.php sayfasına istek gönderiyoruz.

public function actionIndex()
{
	$search = Yii::$app->request->get('ara');
	if($search){
		$posts  = \backend\models\Posts::find()
		->where('postTitle LIKE :query OR postContent LIKE :query OR postKeywords LIKE :query') 
		->addParams([':query'=>'%'.$search.'%'])
		->all();
		
		return $this->render('aramasonuc',[
			'posts'=>$posts,
		]);
	}else{
		$posts=\backend\models\Posts::find()->all();
		
		return $this->render('index,[
			'posts'=>$posts,
		]);
	}
}

Son olarak view/aramasonuc.php adında bir sayfa oluşturup aşağıdaki kodları kullanarak arama sonuçlarını listeleyebilirsiniz.

<ul class="search-list">
	<?php if(count($posts)>0):?>
		<?php foreach($posts as $p=>$post):?>
			<li>
				<a href="<?=Yii::$app->UrlManager->createUrl(['site/postdetails','postTitleSeo'=>$post->postTitleSeo])?>">
					Detay...
				</a>
			</li>
		<?php endforeach;?>
	<?php else:?>
	<li>
		<div class="alert alert-primary alert-dismissible" role="alert">
		  Aradığınız kriterlerde <strong>kayıt</strong> bulunamadı...
		</div>
	</li>
	<?php endif;?>
</ul>
Yii2 Framework Sayfa içi arama search
0 Beğeni
Yii2 Framework
Önceki Yazı

Yii2 Framework Views Trigger Events

22 Ekim 2020 tarihinde yayınlandı.
Sonraki Yazı

Bitly Link Kısaltma Servisi

22 Ekim 2020 tarihinde yayınlandı.
arrow