Spec-Zone.ru › Yii 2.0

Класс yii\data\Pagination

Все классы | Свойства | Методы | Константы
Наследование yii\data\Pagination » yii\base\Object
Реализует yii\base\Configurable, yii\web\Linkable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php

Pagination представляет информацию, относящуюся к постраничному отображению элементов данных.

Когда данные необходимо отображать по страницам, Pagination может быть использована для представления такой информации, как общее количество элементов, размер страницы, текущая страница и т.д. Эта информация может быть передана страничным навигаторам для отображения кнопок или ссылок для навигации по страницам.

Следующий пример демонстрирует, как создать объект Pagination и передать его страничному навигатору.

Действие контроллера:

public function actionIndex()
{
    $query = Article::find()->where(['status' => 1]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count()]);
    $models = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index', [
         'models' => $models,
         'pages' => $pages,
    ]);
}

Представление:

foreach ($models as $model) {
    // display $model here
}

// display pagination
echo LinkPager::widget([
    'pagination' => $pages,
]);

Для получения более подробной информации и инструкций по использованию Pagination, см. статью руководства по постраничному отображению.

Публичные свойства

Свойство Тип Описание Определено в
$defaultPageSize integer Значение по умолчанию для размера страницы. yii\data\Pagination
$forcePageParam boolean Указывает, нужно ли всегда включать параметр страницы в URL, созданный методом createUrl(). yii\data\Pagination
$limit integer Предел данных. yii\data\Pagination
$links array Ссылки для навигации. yii\data\Pagination
$offset integer Смещение данных. yii\data\Pagination
$page integer Номер текущей страницы (нумерация с нуля). yii\data\Pagination
$pageCount integer Количество страниц yii\data\Pagination
$pageParam string Имя параметра, хранящего индекс текущей страницы. yii\data\Pagination
$pageSize integer Количество элементов на странице. yii\data\Pagination
$pageSizeLimit array|false Пределы размера страницы. yii\data\Pagination
$pageSizeParam string Имя параметра, хранящего размер страницы. yii\data\Pagination
$params array Параметры (имя => значение), которые должны быть использованы для получения номера текущей страницы и создания новых URL для навигации по страницам. yii\data\Pagination
$route string Маршрут действия контроллера для отображения содержимого на страницах. yii\data\Pagination
$totalCount integer Общее количество элементов. yii\data\Pagination
$urlManager yii\web\UrlManager Менеджер URL, используемый для создания URL страниц. yii\data\Pagination
$validatePage boolean Указывает, нужно ли проверять, находится ли $page в допустимом диапазоне. yii\data\Pagination

Публичные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, задано ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
createUrl() Создаёт URL, подходящий для постраничной навигации со значением указанного номера страницы. yii\data\Pagination
getLimit() yii\data\Pagination
getLinks() Возвращает полный набор ссылок для навигации к первой, последней, следующей и предыдущей страницам. yii\data\Pagination
getOffset() yii\data\Pagination
getPage() Возвращает номер текущей страницы (нумерация с нуля). yii\data\Pagination
getPageCount() yii\data\Pagination
getPageSize() Возвращает количество элементов на странице. yii\data\Pagination
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
setPage() Устанавливает номер текущей страницы. yii\data\Pagination
setPageSize() yii\data\Pagination

Защищённые методы

Метод Описание Определено в
getQueryParam() Возвращает значение указанного параметра запроса. yii\data\Pagination

Константы

Константа Значение Описание Определено в
LINK_FIRST 'first' yii\data\Pagination
LINK_LAST 'last' yii\data\Pagination
LINK_NEXT 'next' yii\data\Pagination
LINK_PREV 'prev' yii\data\Pagination

Подробное описание свойств

$defaultPageSize общественное свойство

Размер страницы по умолчанию. Это свойство будет возвращено свойством $pageSize, когда размер страницы нельзя определить по свойству $pageSizeParam из свойства $params.

public integer $defaultPageSize = 20

$forcePageParam общественное свойство

Всегда ли включать параметр страницы в URL, созданный методом createUrl(). Если false и $page равно 0, параметр страницы не будет добавлен в URL.

public boolean $forcePageParam = true

$limit общественное только для чтения свойство

Предел данных. Это может быть использовано для установки значения LIMIT для SQL-запроса для извлечения текущей страницы данных. Обратите внимание, что если размер страницы бесконечен, будет возвращено значение -1.

public integer getLimit ( )

$links общественное только для чтения свойство

Ссылки для навигации. Ключи массива указывают назначение ссылок (например, LINK_FIRST), а значения массива — соответствующие URL.

public array getLinks ( $absolute = false )

$offset общественное только для чтения свойство

Смещение данных. Это может быть использовано для установки значения OFFSET в SQL-запросе для извлечения текущей страницы данных.

public integer getOffset ( )

$page общественное свойство

Номер текущей страницы (нумерация с нуля).

public integer getPage ( $recalculate = false )
public void setPage ( $value, $validatePage = false )

$pageCount общественное только для чтения свойство

Количество страниц

public integer getPageCount ( )

$pageParam общественное свойство

Имя параметра, хранящего индекс текущей страницы.

См. также $params.

public string $pageParam = 'page'

$pageSize общественное свойство

Количество элементов на странице. Если значение меньше 1, это означает, что размер страницы бесконечен, и, следовательно, одна страница содержит все элементы.

public integer getPageSize ( )
public void setPageSize ( $value, $validatePageSize = false )

$pageSizeLimit общественное свойство

Пределы размера страницы. Первый элемент массива — минимальный размер страницы, а второй — максимальный размер страницы. Если это false, это означает, что $pageSize всегда должен возвращать значение $defaultPageSize.

public array|false $pageSizeLimit = [1, 50]

$pageSizeParam общественное свойство

Имя параметра, хранящего размер страницы.

См. также $params.

public string $pageSizeParam = 'per-page'

$params общественное свойство

Параметры (имя => значение), которые должны быть использованы для получения текущего номера страницы и создания новых URL страниц. Если не заданы, используются все параметры из $_GET.

Для добавления хэша ко всем ссылкам используйте array_merge($_GET, ['#' => 'my-hash']).

Элемент массива с индексом $pageParam считается текущим номером страницы (по умолчанию 0); в то время как элемент с индексом $pageSizeParam обрабатывается как размер страницы (по умолчанию $defaultPageSize).

public array $params = null

$route общественное свойство

Маршрут действия контроллера для отображения постраничного содержимого. Если не задан, используется текущий запрашиваемый маршрут.

public string $route = null

$totalCount общественное свойство

Общее количество элементов.

public integer $totalCount = 0

$urlManager общественное свойство

Менеджер URL, используемый для создания URL страниц. Если не задан, используется компонент приложения «urlManager».

public yii\web\UrlManager $urlManager = null

$validatePage общественное свойство

Необходимо ли проверять, находится ли $page в допустимом диапазоне. Когда это свойство true, значение $page всегда будет находиться между 0 и ($pageCount-1). Поскольку $pageCount зависит от правильного значения $totalCount, которое может быть недоступно в некоторых случаях (например, MongoDB), вы можете установить это свойство в false, чтобы отключить проверку номера страницы. Сделав это, $page вернёт значение, указанное по индексу $pageParam в $params.

public boolean $validatePage = true

Подробное описание методов

createUrl() public method

Создаёт URL, подходящий для пагинации, с указанным номером страницы.

Этот метод в основном вызывается компонентами пагинации при создании URL для реализации пагинации.

См. также:

  • $params
  • $forcePageParam
public string createUrl ( $page, $pageSize = null, $absolute = false )
$page integer

Номер страницы (нумерация с нуля), на которую должен указывать URL.

$pageSize integer

Количество элементов на странице. Если не задано, используется значение $pageSize.

$absolute boolean

Указывает, нужно ли создать абсолютный URL. По умолчанию false.

return string

Созданный URL

getLimit() public method

public integer getLimit ( )
return integer

Предел данных. Может быть использован для установки значения LIMIT в SQL-запросе для извлечения текущей страницы данных. Обратите внимание, что если размер страницы бесконечен, будет возвращено значение -1.

getLinks() public method

Возвращает набор ссылок для навигации по первой, последней, следующей и предыдущей страницам.

public array getLinks ( $absolute = false )
$absolute boolean

Указывает, должны ли сгенерированные URL быть абсолютными.

return array

Ссылки для навигации. Ключи массива указывают назначение ссылок (например, LINK_FIRST), а значения — соответствующие URL.

getOffset() public method

public integer getOffset ( )
return integer

Смещение данных. Может быть использовано для установки значения OFFSET в SQL-запросе для извлечения текущей страницы данных.

getPage() public method

Возвращает номер текущей страницы (нумерация с нуля).

public integer getPage ( $recalculate = false )
$recalculate boolean

Указывает, нужно ли пересчитать текущую страницу на основе размера страницы и количества элементов.

return integer

Номер текущей страницы (нумерация с нуля).

getPageCount() public method

public integer getPageCount ( )
return integer

Количество страниц

getPageSize() public method

Возвращает количество элементов на странице.

По умолчанию этот метод пытается определить размер страницы по $pageSizeParam в $params. Если размер страницы не может быть определён таким образом, возвращается $defaultPageSize.

См. также $pageSizeLimit.

public integer getPageSize ( )
return integer

Количество элементов на странице. Если значение меньше 1, это означает, что размер страницы бесконечен, и, следовательно, одна страница содержит все элементы.

getQueryParam() protected method

Возвращает значение указанного параметра запроса.

Этот метод возвращает значение параметра с заданным именем из $params. Если значение не существует, возвращается null.

protected string getQueryParam ( $name, $defaultValue = null )
$name string

Имя параметра

$defaultValue string

Значение, которое будет возвращено, если указанный параметр не существует в $params.

return string

Значение параметра

setPage() public method

Устанавливает номер текущей страницы.

public void setPage ( $value, $validatePage = false )
$value integer

Индекс текущей страницы (нумерация с нуля).

$validatePage boolean

Указывает, нужно ли валидировать номер страницы. Обратите внимание, что для валидации номера страницы должны быть истинны как $validatePage, так и этот параметр.

setPageSize() public method

public void setPageSize ( $value, $validatePageSize = false )
$value integer

Количество элементов на странице.

$validatePageSize boolean

Указывает, нужно ли валидировать размер страницы.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-data-pagination.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API