صفحه بندی در طراحی سایت pagination

صفحه بندی در طراحی سایت pagination

صفحه بندی در طراحی سایت pagination

برای اینکه بتوانیم یک صفحه را هنگام طراحی سایت صفحه بندی کنیم تا وقتی تعداد محصولات یا پست ها در یک صفحه زیاد شدند ، زیره صفحه شماره بخورد و با کلیک محصولات بعدی را نمایش دهد.

صفحه ی مورد نظر را باز می کنیم و ابتدا کد زیر را وارد می کنیم :

use yii\widgets\LinkPager;

سپس در قسمت مناسب از صفحه :

 

 


                      echo LinkPager::widget([
             'firstPageLabel' => 'ابتدا',
             'lastPageLabel' => 'آخر',

 

            'pagination' => $pages,
             
       ]);
                ?>   
           

 

حالا برای کار کردن این قسمت باید اکشن آن را در کنترلر مزبوطه اضافه کنیم.

ابتدا 

use yii\data\Pagination;

$queryy =\common\models\PostHasTaxonomy::find()
        ->where('taxonomy_id=5')
        ->with('post')
        ->orderBy(['id' => SORT_DESC]);
        $countQueryy = clone $queryy;
        $pagess = new Pagination(['totalCount' => $countQueryy->count(),'defaultPageSize' =>8]);
       
       $cats  = $queryy->offset($pagess->offset)
        ->limit(8)
        ->all();
       
   

بعد در قسمتی که کنترلر می خواهد صفحه را رندر کند :

 return $this->render('index', [
         'models' => $models,
         
         'pagess' => $pagess,

         'cate' => $cats, 

مثلا من pagination را در صفحه ی frondtend->site->index قرار دادم ، پس این کدهارا در frontend->sitecontroller و در اکشن index می نویسم.

pagination در طراحی سایت اهمیت بالایی دارد.

 

TOP