Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Yii2 EasyCMSda Pagination

+2 ovoz
68 marta ko‘rilgan
so‘radi 05 sentabr, 17 HunterX1 (364 bal)
NewsController.php da

namespace app\controllers;
use yii\easyii\modules\news\api\News;
use yii\easyii\modules\news\models\News as NewsModel;

public function actionIndex()

    {

        $data['items'] = News::items();

        $data['pager'] = News::pages();

        return $this->render('index', $data);

    }

View ->  news/more da

<?php

  $this->keywords_seo = $item->title;
  $this->content_seo = $item->short;
  $this->title = $item->title;
  $this->params['breadcrumbs'][] = ['label' => 'Новости', 'url' => ['/news']];
  $this->params['breadcrumbs'][] = $this->title;

?>

...

<div class="pro-name-rate clearfix">
                    <h3 class="product-name">
                      <a href="/news/<?=$item->slug?>" title="Grouper Business card"><?=$item->title?></a>
                    </h3>

                  </div>

                  <div>
                    <p>
                      <?=$item->text?>
                    </p>

...

dan keyin esa  |<|  |NEWS|  |>| ko'rinishidagi pagination chiqarish kerak. Bunda Prev tugmasi qachonki news_id=1  bo'lganda 'disabled' ya'ni neaktivniy holatda bolishi kerak. Next tugmasini esa bazaga zapros yuborib `news` jadvalidagi `news_id` i qachonki oxirgi ID bolganida, unga 'disabled' berish kerak.

P.S. title bu temasi, slug bu link, text har doimgidek matn.

Agar tushunganlar bo'lsa iltimos yordam bervoringlar.

1 ta javob

0 ovoz
javob berdi 05 sentabr, 17 Sardor Dushamov (1,683 bal)
tanlangan 06 sentabr, 17 HunterX1
 
Eng yaxshi javob

Tushunishim buyicha buni 2 xil oddiy usulda qilish mumkin. 

1. Foreach va LinkPager yordamida;

2. Listview yordamida;

2- usul yaxshiroq bolgani uchun shuni tushuntirishga harakat qilaman:

view/more.php da Listview quyasiz va 1 ta itemni ko'rsatadigan qilasiz. 

Listview widgetini parametrlari bor: 

'maxButtonCount'=>0 - 0 qoysangiz paginationdagi sonlar chiqmaydi. faqat next prev tugmalari chiqadi. agar 1-betda turgan bolsa prev tugmasi hide boladi.
ListView::widget([
    'dataProvider' => $listDataProvider,
    'pager' => [
        'firstPageLabel' => '',
        'lastPageLabel' => '',
        'prevPageLabel' => 'previous',
        'nextPageLabel' => 'next',
        'maxButtonCount' => 0,
    ],
])

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...