Пагинация в Yii без базы данных

0

Как я могу добавить разбивку на страницы, что не получается из БД? Например: у меня есть число, которое 20 раз выводит некоторые строки, как я могу его разбивать на страницы. Я пытаюсь создать paginator, и он отображает правильное количество страниц, но на каждой странице я вижу весь контент.

Код цикла:

for ($i = 0; $i < 5; $i++) {
    $day = mktime(0, 0, 0, date('m'), date('d') - $i);
    $elems = ContentItem::dayNews($day);
    $test[] = $elems;
    if (count($elems)) {
        $date = Y::date_print($day, 'd-m-Y');
        $arr = explode('-', $date);
        ?>
        <div class="news_dhead">
            <?= Y::isToday($day) ? 'Today, ' : '' ?>
            <?= Y::isYesterday($day) ? 'Yesterday, ' : '' ?>
            <? echo $arr[0] . ' ' . Y::months($arr[1]) . ' ' . $arr[2] ?>
        </div>
        <div class="news_dcoll">
        <?
        foreach ($elems as $key => $elem) {
            ?>
            <div class="ib news_delem">
                <? //echo $key;?>
                <div class="news_ddate"><?= Y::date_print($elem->cdate, 'H.i') ?></div>
                <a href="<?= $elem->urlNews ?>" class="tdn"><?= $elem->title ?></a>
            </div>
        <?
        }
        ?></div><?
    }
}

Итак, как вы можете видеть, каждая строка представляет собой список данных, которые получают из db. PS. Петля пишите другому человеку.

Теги:
pagination
yii

1 ответ

1
Лучший ответ

Виджеты Yii используют поставщика данных для отображения данных. Существуют разные поставщики данных:

  1. CActiveDataProvider (CActiveDataProvider реализует поставщика данных на основе ActiveRecord.)
  2. CArrayDataProvider (CArrayDataProvider реализует поставщика данных на основе массива необработанных данных).
  3. CDataProvider (CDataProvider - базовый класс, который реализует интерфейс IDataProvider).

Вы можете использовать CDataProvider или CArrayDataProvider в случаях, когда у вас нет данных db и передайте их через ваш виджет (или используйте его в любом месте)

  • 0
    Мне не нужно использовать этих провайдеров, потому что, насколько я знаю, они получают пейджер с отображаемыми данными, и мне нужен только пейджер. Я добавляю цикл, который представляет данные к моему вопросу ...
  • 0
    @excluded_once ммм, а как насчет yiiframework.com/doc/api/1.1/CLinkPager ?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню