Библиотека постраничной навигации для любого PHP-проекта
| Метод | Аргументы | Описание | Возвращаемое значение |
|---|---|---|---|
| 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 |
| Метод | Тип возвращаемого значения | Описание |
|---|---|---|
| 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 %}