php-pagination
Библиотека постраничной навигации для любого PHP-проекта
Installation and usage
Методы библиотеки
Метод | Аргументы | Описание | Возвращаемое значение |
---|---|---|---|
setUrl($url) | $url: string | Установить ссылку на страницу, где происходит вывод записей (например: http://yoursite.com/news, /news/ или /news.php?page=). | Pagination |
getUrl() | - | Получить ссылку на страницу, где происходит вывод записей. | string |
setPageLimit($limit) | $limit: integer | Установить количество видимых ссылок справа и слева от текущей. По умолчанию: 5. | Pagination |
getPageLimit() | - | Получить количество видимых ссылок справа и слева от текущей. | string |
excludeFirstLastLinks($flag) | $flag: boolean | Исключить ссылки на первую и последнюю страницы. По умолчанию: false. | Pagination |
excludeGroupLinks($flag) | $flag: boolean | Исключить ссылки на следующую и предыдущую группы страниц. По умолчанию: false. | Pagination |
excludeNextPreviousLinks($flag) | $flag: boolean | Исключить ссылки на следующую и предыдущую страницы. По умолчанию: false. | Pagination |
excludeNumericLinks($flag) | $flag: boolean | Исключить ссылки на нумерованные страницы. По умолчанию: false. | Pagination |
setFirstLabel($label) | $label: string | Надпись для ссылки на первую страницу. По умолчанию: "<<". | Pagination |
setLastLabel($label) | $label: string | Надпись для ссылки на последнюю страницу. По умолчанию: ">>". | Pagination |
setNextGroupLabel($label) | $label: string | Надпись для ссылки на следующую группу страниц. По умолчанию: "..". | Pagination |
setPreviousGroupLabel($label) | $label: string | Надпись для ссылки на предыдущую группу страниц. По умолчанию: "..". | Pagination |
setNextLabel($label) | $label: string | Надпись для ссылки на следующую страницу. По умолчанию: ">". | Pagination |
setPreviousLabel($label) | $label: string | Надпись для ссылки на предыдущую страницу. По умолчанию: "<". | Pagination |
setCurrentPage($page) | $page: integer | Установить номер отображаемой страницы. По умолчанию: 1. | Pagination |
getCurrentPage() | - | Получить номер отображаемой страницы. | integer |
setRecordLimit($limit) | $limit: integer | Установить количество записей, отображаемых на странице. По умолчанию: 10. | Pagination |
getRecordLimit() | - | Получить количество записей, отображаемых на странице. | integer |
getStart() | - | Возвращает номер записи, с которой начат показ страницы (нумерация ведётся с нуля). | int |
setTotalRecords($total) | $total: integer | Установить общее количество всех записей. | Pagination |
getTotalPages() | - | Получить общее количество всех записей. | integer |
getPages() | - | Получить ссылки постраничной навигации. | Page[] |
initialize() | - | Запустить генерацию постраничной навигации. Необходимо запускать после всех настроек объекта Pagination. | Pagination |
getStartShow() | - | Получить номер записи, с которой начат показ страницы (нумерация ведётся с одного). | integer |
getEndShow() | - | Получить номер последней выведенной записи. | integer |
Методы объекта Page
Метод | Тип возвращаемого значения | Описание |
---|---|---|
getLabel() | string | Возвращает надпись для ссылки на страницу. |
getNumber() | integer | Возвращает номер страницы. |
getHref() | string | Возвращает ссылку на страницу. |
isFirst() | boolean | Это ссылка на первую страницу. |
isPreviousGroup() | boolean | Это ссылка на предыдущую группу страниц. |
isPrevious() | boolean | Это ссылка на предыдущую страницу. |
isNumeric() | boolean | Это нумерованная ссылка на страницу. |
isCurrent() | boolean | Это ссылка на текущую страницу. |
isNext() | boolean | Это ссылка на следующую страницу. |
isNextGroup() | boolean | Это ссылка на следующую группу страниц. |
isLast() | boolean | Это ссылка на последнюю страницу. |
Послесловие
Пример вывода постраничной навигации с использованием Twig:
{% if pagination %}
<div>Current page is {{ pagination.current_page }}</div>
<div>Showed from {{ pagination.start_show }} to {{ pagination.end_show }} - {{ pagination.limit }} items</div>
<div>Total {{ pagination.total_records }} items on {{ pagination.total_pages }} pages</div>
{% if pagination.pages %}
<ul class="pagination">
{% for page in pagination.pages %}
<li{{ page.is_current ? ' class="active"' : ''}}>
<a href="{{ page.href }}"{% for key,value in page.attributes %} {{ key }}="{{ value }}"{% endfor %}>{{ page.caption }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
{% endif %}