Создайте HTML-пагинацию для обеспечения доступности.
Пакет безопасности: https://github.com/rancoud/Security.
композитору требуется rancoud/нумерация страниц
$currentPage = 1;$countElements = 10;$countElementPerPage = 5;$p = новая разбивка на страницы();$html = $p->generateHtml($currentPage, $countElements, $countElementPerPage);echo $html;
Он будет выводить
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
Корень представляет <ul>
Элемент представляет <li>
Ссылка представляет <a>
Параметр | Тип | Значение по умолчанию | Описание |
---|---|---|---|
конфигурация | множество | [] | Параметры для изменения поведения пагинации |
генерироватьHtml(currentPage: int, countElements: int, countElementPerPage: int): строка
генерироватьДанные (currentPage: int, countElements: int, countElementPerPage: int): массив
countPages(countElements: int, countElementPerPage: int): int
locateItemInPage(countElementPerPage: int, indexItem: int): int
URL (строка) (пример)
show_all_links (bool: false) (пример)
use_previous (bool: false) (пример)
Always_use_previous (bool: false) (пример)
use_next (bool: false) (пример)
Always_use_next (bool: false) (пример)
use_dots (bool: false) (пример)
count_pages_pair_limit (int: 0) (пример)
count_pages_pair_adjacent (int: 2) (пример)
text_previous (строка: Предыдущая страница) (пример)
text_next (строка: Следующая страница) (пример)
text_dots (строка: …) (пример)
text_page (строка: {{PAGE}}) (пример)
aria_label_link (строка: Перейти на страницу {{PAGE}}) (пример)
aria_label_current_link (строка: текущая страница, страница {{PAGE}}) (пример)
aria_label_nav (строка: нумерация страниц) (пример)
aria_label_previous (строка: Предыдущая страница) (пример)
aria_label_next (строка: Следующая страница) (пример)
Тысячи_разделитель (строка) (пример)
root_tag (строка: ul) (пример)
root_attrs (строка) (пример)
use_nav (bool: true) (пример)
nav_attrs (строка) (пример)
item_tag (строка: li) (пример)
item_attrs (строка) (пример)
item_attrs_current (строка) (пример)
item_previous_attrs (строка) (пример)
item_previous_attrs_disabled (строка) (пример)
item_next_attrs (строка) (пример)
item_next_attrs_disabled (строка) (пример)
item_dots_attrs (строка) (пример)
link_tag (строка: а) (пример)
link_attrs (строка) (пример)
link_attrs_current (строка) (пример)
link_previous_attrs_disabled (строка) (пример)
link_next_attrs_disabled (строка) (пример)
dot_tag (строка: диапазон) (пример)
dot_attrs (строка) (пример)
use_pretty_html (bool: true) (пример)
html_tab_sequence (строка: t) (пример)
html_initial_indentation (int: 0) (пример)
esc_attr (bool: true) (пример)
esc_html (bool: true) (пример)
кодировка (строка: UTF-8) (пример)
Вы должны самостоятельно очистить эти параметры:
nav_attrs
root_attrs
item_attrs
item_attrs_current
item_previous_attrs
item_previous_attrs_disabled
item_next_attrs
item_next_attrs_disabled
item_dots_attrs
link_attrs
link_attrs_current
link_previous_attrs_disabled
link_next_attrs_disabled
dot_attrs
html_tab_sequence
Страница добавляется в конец
$conf = ['url' => 'https://example.com/news/page/'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="https://example. com/news/page/2» aria-label="Page 2">2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['url' => 'https://example.com/news/page/{{PAGE}}/?date=desc'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="https://example. com/новости/страница/2/?дата=десc» aria-label="Page 2">2</a></li></ul></nav>
После замены страницы шаблоном {{PAGE}}
$conf = ['url' => '{{PAGE}}?date=desc'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Страница 1" aria-current="page">1</a></li><li><a href="2?date=desc" aria-label= "Страница 2">2</a></li></ul></nav>
⏫ Параметры конфигурации / URL-адрес
$conf = ['show_all_links' => true];echo (новая разбивка на страницы ($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li><a href="4" aria-label="Page 4">4</a></li><li><a href="5" aria-label="Page 5">5</a></ li><li><a href="6" aria-label="Page 6">6</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['use_previous' => true];echo (новая нумерация страниц($conf))->generateHtml(2, 10, 5);
<nav aria-label="Pagination"><ul><li><a href="1" aria-label="Previous page">Предыдущая страница</a></li><li><a href="1" aria-label="Page 1">1</a></li><li><a href="#" aria-label="Page 2" aria-current="page">2</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
Предыдущая имеет aria-disabled=true
в теге ссылки, если предыдущей страницы нет.
$conf = ['always_use_previous' => true];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Предыдущая страница" aria-disabled="true">Предыдущая страница</a></li><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['use_next' => true];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="2" aria-label="Next page">Следующая страница</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
Далее в теге ссылки указано aria-disabled=true
, если следующей страницы нет.
$conf = ['always_use_next' => true];echo (новая разбивка на страницы ($conf))->generateHtml(2, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="#" aria-label="Page 2" aria-current="page">2</a></li><li><a href="#" aria-label="Следующая страница" aria-disabled="true">Следующая страница</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['use_dots' => true];echo (новая разбивка на страницы ($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li aria-hidden="true"><span>…</span></li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['count_pages_pair_limit' => 1];echo (новая нумерация страниц($conf))->generateHtml(5, 300, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="3" aria-label="Page 3">3</a></li><li><a href="4" aria-label="Page 4">4</ а></li><li><a href="#" aria-label="Page 5" aria-current="page">5</a></li><li><a href="6" aria-label="Page 6"> 6</a></li><li><a href="7" aria-label="Page 7">7</a></li><li><a href="60" aria-label="Страница 60">60</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['count_pages_pair_adjacent' => 1];echo (новая разбивка на страницы ($conf))->generateHtml(5, 300, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="4" aria-label="Page 4">4</a></li><li><a href ="#" aria-label="Page 5" aria-current="page">5</a></li><li><a href="6" aria-label="Page 6"> 6</a></li></ul></nav>
⏫ Параметры конфигурации/поведение
count_pages_pair_limit 0 + count_pages_pair_adjacent 0
$conf = ['count_pages_pair_limit' => 0, 'count_pages_pair_adjacent' => 0];echo (new Pagination($conf))->generateHtml(5, 300, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 5" aria-current="page">5</a></li></ul></nav>
count_pages_pair_limit 2 + count_pages_pair_adjacent 2
$conf = ['count_pages_pair_limit' => 2, 'count_pages_pair_adjacent' => 2];echo (новая нумерация страниц ($conf))->generateHtml(5, 300, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="2" aria-label="Page 2">2</a></li><li><a href="3" aria-label="Page 3">3</ а></li><li><a href="4" aria-label="Page 4">4</a></li><li><a href="#" aria-label="Page 5" aria-current="page">5</a></li><li><a href="6" aria-label="Page 6"> 6</a></li><li><a href="7" aria-label="Page 7">7</a></li><li><a href="59" aria-label="Page 59">59</a></li><li><a href="60" aria-label="Page 60">60</a></ li></ul></nav>
⏫ Параметры конфигурации/поведение
$conf = ['use_previous' => true,'text_previous' => 'prev'];echo (new Pagination($conf))->generateHtml(2, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Previous page">prev</a></li><li><a href ="1" aria-label="Page 1">1</a></li><li><a href="#" aria-label="Страница 2" aria-current="page">2</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['use_next' => true,'text_next' => 'next'];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="2" aria-label="Следующая страница">следующая</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['use_dots' => true,'text_dots' => 'dots'];echo (new Pagination($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li aria-hidden="true"><span>точки</span></li></ul></nav>
⏫ Параметры конфигурации/метки
Страница добавляется в конец
$conf = ['text_page' => 'yolo'];echo (новая нумерация страниц ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">yolo 1</a></li><li><a href="2" aria-label="Page 2" >йоло 2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['text_page' => 'yo {{PAGE}} lo'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">лет 1 год</a></li><li><a href="2" aria-label="Page 2" ">йо 2 лоу</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['aria_label_link' => 'ссылка на метку aria'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="aria label " ;link">2</a></li></ul></nav>
С узором {{PAGE}}
$conf = ['aria_label_link' => 'ссылка на метку aria {{PAGE}}'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="aria label " ;link 2">2</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['aria_label_current_link' => 'текущая ссылка метки aria'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="aria label current link" aria-current="page">1</a></li><li><a href="2" aria-label= "Страница 2">2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['aria_label_current_link' => 'текущая ссылка метки aria {{PAGE}}'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="aria label current link 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2">2</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['aria_label_nav' => 'aria label nav'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="aria label nav"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['use_previous' => true,'aria_label_previous' => 'prev'];echo (new Pagination($conf))->generateHtml(2, 10, 5);
<nav aria-label="Pagination"><ul><li><a href="1" aria-label="prev">Предыдущая страница</a></li><li><a href="1 " aria-label="Page 1">1</a></li><li><a href="#" aria-label="Страница 2" aria-current="page">2</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['use_next' => true,'aria_label_next' => 'next'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="2" aria-label="next">Следующая страница</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['thousands_separator' => ';','count_pages_pair_limit' => 1];echo (new Pagination($conf))->generateHtml(1, 1000, 1);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li><a href="1000" aria-label="Страница 1000">1;000</a></li></ul></nav>
⏫ Параметры конфигурации/метки
$conf = ['root_tag' => 'root'];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><root><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></root></nav>
⏫ Параметры конфигурации / HTML-разметка / Корень
$conf = ['root_attrs' => 'data-root="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul data-root="attrs"><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации / HTML-разметка / Корень
$conf = ['use_nav' => false];echo (новая нумерация страниц($conf))->generateHtml(1, 10, 5);
<ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul>
⏫ Параметры конфигурации / HTML-разметка / Корень
$conf = ['nav_attrs' => 'data-item="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы" data-item="attrs"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации / HTML-разметка / Корень
$conf = ['item_tag' => 'item'];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><item><a href="#" aria-label="Page 1" aria-current="page">1</a></item><item><a href="2" aria-label="Page 2"> 2</a></item></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['item_attrs' => 'data-item="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li data-item="attrs"><a href="2" aria-label=" Страница 2">2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['item_attrs' => 'data-item="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li data-item="attrs 2"><a href="2" aria-label= "Страница 2">2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['item_attrs_current' => 'data-item-current="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li data-item-current="attrs"><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['item_attrs_current' => 'data-item-current="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li data-item-current="attrs 1"><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['use_previous' => true,'item_previous_attrs' => 'data-item-previous="attrs"'];echo (new Pagination($conf))->generateHtml(2, 10, 5);
<nav aria-label="Pagination"><ul><li data-item-previous="attrs"><a href="1" aria-label="Previous page">Предыдущая страница</a> </li><li><a href="1" aria-label="Page 1">1</a></li><li><a href="#" aria-label="Страница 2" aria-current="page">2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['use_previous' => true,'item_previous_attrs' => 'data-item-previous="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(2, 10) , 5);
<nav aria-label="Pagination"><ul><li data-item-previous="attrs 1"><a href="1" aria-label="Предыдущая page">Предыдущая страница</a ></li><li><a href="1" aria-label="Page 1">1</a></li><li><a href="#" aria-label="Страница 2" aria-current="page">2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['always_use_previous' => true,'item_previous_attrs_disabled' => 'data-item-previous-disabled="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5) ;
<nav aria-label="Разбиение на страницы"><ul><li data-item-previous-disabled="attrs"><a href="#" aria-label="Предыдущая страница" aria-disabled="true">Предыдущая страница</a></li><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['always_use_previous' => true,'item_previous_attrs_disabled' => 'data-item-previous-disabled="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1 , 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li data-item-previous-disabled="attrs 0"><a href="#" aria-label="Предыдущая страница" aria-disabled="true">Предыдущая страница</a></li><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['use_next' => true,'item_next_attrs' => 'data-item-next="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li data-item-next="attrs"><a href="2" aria-label="Next page">Далее страница</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['use_next' => true,'item_next_attrs' => 'data-item-next="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1, 10) , 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li data-item-next="attrs 2"><a href="2" aria-label="Next page">Далее страница</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['always_use_next' => true,'item_next_attrs_disabled' => 'data-item-next-disabled="attrs"'];echo (new Pagination($conf))->generateHtml(2, 10, 5) ;
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="#" aria-label="Page 2" aria-current="page">2</a></li><li data-item-next-disabled="attrs"><a href="# ;" aria-label="Следующая страница" aria-disabled="true">Следующая страница</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['always_use_next' => true,'item_next_attrs_disabled' => 'data-item-next-disabled="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(2 , 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="#" aria-label="Page 2" aria-current="page">2</a></li><li data-item-next-disabled="attrs 2"><a href="&# х23;" aria-label="Следующая страница" aria-disabled="true">Следующая страница</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['use_dots' => true,'item_dots_attrs' => 'data-item-dots="attrs"'];echo (new Pagination($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li data-item-dots="attrs" " aria-hidden="true"><span>…</span></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/элемент
$conf = ['link_tag' => 'link'];echo (новая нумерация страниц ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><link href="#" aria-label="Page 1" aria-current="page">1</link></li><li><link href="2" aria-label="Page 2"> 2</link></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['link_attrs' => 'data-link="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a data-link="attrs" href="2" aria-label=" Страница 2">2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['link_attrs' => 'data-link="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a data-link="attrs 2" href="2" aria-label= "Страница 2">2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['link_attrs_current' => 'data-link-current="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a data-link-current="attrs" href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['link_attrs_current' => 'data-link-current="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a data-link-current="attrs 1" href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['always_use_previous' => true,'link_previous_attrs_disabled' => 'data-item-next-disabled="attrs"'];echo (new Pagination($conf))->generateHtml(1, 10, 5) ;
<nav aria-label="Разбиение на страницы"><ul><li><a data-item-next-disabled="attrs" href="#" aria-label="Предыдущая страница" aria-disabled="true">Предыдущая страница</a></li><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['always_use_previous' => true,'link_previous_attrs_disabled' => 'data-item-next-disabled="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(1 , 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a data-item-next-disabled="attrs 0" href="#" aria-label="Предыдущая страница" aria-disabled="true">Предыдущая страница</a></li><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['always_use_next' => true,'link_next_attrs_disabled' => 'data-item-next-disabled="attrs"'];echo (new Pagination($conf))->generateHtml(2, 10, 5) ;
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="#" aria-label="Page 2" aria-current="page">2</a></li><li><a data-item-next-disabled="attrs" href="# ;" aria-label="Следующая страница" aria-disabled="true">Следующая страница</a></li></ul></nav>
Замена страницы шаблоном {{PAGE}}
$conf = ['always_use_next' => true,'link_next_attrs_disabled' => 'data-item-next-disabled="attrs {{PAGE}}"'];echo (new Pagination($conf))->generateHtml(2 , 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="1" aria-label="Page 1">1</a></li><li><a href ="#" aria-label="Page 2" aria-current="page">2</a></li><li><a data-item-next-disabled="attrs 2" href="&# х23;" aria-label="Следующая страница" aria-disabled="true">Следующая страница</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['use_dots' => true,'dot_tag' => 'p'];echo (new Pagination($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li aria-hidden="true"><p>…</p></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['use_dots' => true,'dot_attrs' => 'data-dot="attrs"'];echo (new Pagination($conf))->generateHtml(1, 30, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li><li><a href="3" aria-label="Page 3">3</a></li><li aria-hidden="true"> <диапазон data-dot="attrs">…</span></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/ссылка
$conf = ['use_pretty_html' => false];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/отступы
$conf = ['html_tab_sequence' => ''];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/отступы
$conf = ['html_initial_indentation' => 1];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации/разметка HTML/отступы
$conf = ['esc_attr' => false];echo (новая нумерация страниц($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Страница 1" aria-current="page">1</a></li><li ><a href="2" aria-label="Страница 2">2</a></li></ul></nav>
⏫ Параметры конфигурации / HTML-разметка / Безопасность
$conf = ['esc_html' => false,'text_page' => '<em>{{PAGE}</em>'];echo (new Pagination($conf))->generateHtml(1, 10, 5 );
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Страница 1" aria-current="page"><em>1</em></a></li><li><a href="2" aria-label=" Страница 2"><em>2</em></a></li></ul></nav>
⏫ Параметры конфигурации / HTML-разметка / Безопасность
$conf = ['charset' => 'EUC-JP'];echo (новая разбивка на страницы ($conf))->generateHtml(1, 10, 5);
<nav aria-label="Разбиение на страницы"><ul><li><a href="#" aria-label="Page 1" aria-current="page">1</a></li><li><a href="2" aria-label="Page 2"> 2</a></li></ul></nav>
⏫ Параметры конфигурации / HTML-разметка / Безопасность
$conf = ['always_use_previous' => true,'always_use_next' => true,'use_dots' => true, ]var_dump(new Pagination($conf))->generateData(1, 3000, 5);array (size=3) 'previous' => object(RancoudPaginationItem)[2] public 'ariaLabel' => строка 'Предыдущая страница' (длина = 18) общедоступный 'href' => строка '#' (длина = 6) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) public 'text' => строка 'Предыдущая страница' (длина = 13) public 'isCurrent' => логическое значение false public 'isDots' => логическое значение false public 'isDisabled' => логическое значение true общедоступная 'страница' => int 0 'links' => массив (размер=4) 0 => объект (RancoudPaginationItem) [4] public 'ariaLabel' => строка 'Page 1' (длина = 11) public 'href' => строка '#' (длина = 6) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) общедоступный 'текст' => строка '1' (длина = 1) public 'isCurrent' => логическое значение true public 'isDots' => логическое значение false public 'isDisabled' => логическое значение false общедоступная 'страница' => int 1 1 => объект (RancoudPaginationItem) [5] public 'ariaLabel' => строка 'Page 2' (длина = 11) public 'href' => строка '2' (длина = 1) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) общедоступный 'текст' => строка '2' (длина = 1) public 'isCurrent' => логическое значение false public 'isDots' => логическое значение false public 'isDisabled' => логическое значение false общедоступная 'страница' => int 2 2 => объект (RancoudPaginationItem) [6] public 'ariaLabel' => строка 'Page 3' (длина = 11) public 'href' => строка '3' (длина = 1) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) общедоступный 'текст' => строка '3' (длина = 1) public 'isCurrent' => логическое значение false public 'isDots' => логическое значение false public 'isDisabled' => логическое значение false общедоступная 'страница' => int 3 3 => объект (RancoudPaginationItem) [7] public 'ariaLabel' => строка 'Page 4' (длина = 11) public 'href' => строка '4' (длина = 1) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) public 'text' => строка '…' (длина = 3) public 'isCurrent' => логическое значение false public 'isDots' => логическое значение true public 'isDisabled' => логическое значение false публичная 'страница' => int 4 'следующий' => объект (RancoudPaginationItem) [8] public 'ariaLabel' => строка 'Следующая страница' (длина = 14) public 'href' => строка '2' (длина = 1) public 'itemAttrs' => строка '' (длина = 0) public 'linkAttrs' => строка '' (длина = 0) public 'text' => строка 'Следующая страница' (длина = 9) public 'isCurrent' => логическое значение false public 'isDots' => логическое значение false public 'isDisabled' => логическое значение false публичная 'страница' => int 2
composer ci
для php-cs-fixer и phpunit и покрытия
composer lint
для php-cs-fixer
composer test
для phpunit и покрытия