Pagination library for any PHP-project
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
sources
LICENSE
README.md
composer.json

README.md

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 %}