dolibarr 24.0.0-beta
list-nav.tpl.php
1<!-- file list-nav.tpl.php -->
2<?php
3/* Copyright (C) 2025 Open-Dsi <support@open-dsi.fr>
4 */
5// Protection to avoid direct call of template
6if (empty($context) || !is_object($context)) {
7 print "Error, template page can't be called as URL";
8 exit(1);
9}
10'@phan-var-force Context $context';
11'@phan-var-force AbstractListController $this';
12
21$formList = &$this->formList;
22
23// Get nb pages
24$nbPages = 0;
25if ($formList->limit > 0) {
26 $nbPages = ceil($formList->nbtotalofrecords / $formList->limit);
27}
28if ($nbPages <= 0) {
29 $nbPages = 1;
30}
31
32$maxPaginationItem = min($nbPages, 5);
33$minPageNum = max(1, $formList->page - 3);
34$maxPageNum = min($nbPages, $formList->page + 3);
35
36$params = $formList->params . '&amp;sortfield=' . $formList->sortfield . '&amp;sortorder=' . $formList->sortorder;
37$params = preg_replace('/^(&|&amp;)/i', '', $params); // remove first & or &amp;
38$url = $context->getControllerUrl($context->controller);
39$url .= (preg_match('/\?/', $url) ? '&amp;' : '?') . $params;
40
41?>
42
43<input type="hidden" name="page" value="<?php print dolPrintHTMLForAttribute((string) $formList->page) ?>">
44<nav id="webportal-<?php print dolPrintHTMLForAttribute($formList->object->element) ?>-pagination">
45 <ul>
46 <li><strong><?php print $langs->trans($formList->titleKey) ?></strong> (<?php print $formList->nbtotalofrecords ?>)</li>
47 </ul>
48
49 <?php if ($nbPages > 1) { ?>
50 <ul class="pages-nav-list">
51 <?php if ($formList->page > 1) { ?>
52 <li><a class="pages-nav-list__icon --prev" aria-label="<?php print dolPrintHTMLForAttribute((string) $langs->trans('AriaPrevPage')) ?>" href="<?php print $url . '&amp;page=' . ($formList->page - 1) ?>"<?php // print ($formList->page <= 1 ? ' disabled' : '') ?>></a></li>
53 <?php } ?>
54
55 <?php if ($minPageNum > 1) { ?>
56 <li><a class="pages-nav-list__link <?php print ($formList->page == 1 ? '--active' : '') ?>" aria-label="<?php print dolPrintHTMLForAttribute((string) $langs->trans('AriaPageX', 1)) ?>" href="<?php print $url . '&amp;page=1' ?>">1</a></li>
57 <li>&hellip;</li>
58 <?php } ?>
59
60 <?php for ($p = $minPageNum; $p <= $maxPageNum; $p++) { ?>
61 <li><a class="pages-nav-list__link <?php print ($formList->page === $p ? '--active' : '') ?>" aria-label="<?php print dolPrintHTMLForAttribute((string) $langs->trans('AriaPageX', $p)) ?>" href="<?php print $url . '&amp;page=' . $p ?>"><?php print $p ?></a></li>
62 <?php } ?>
63
64 <?php if ($maxPaginationItem < $nbPages) { ?>
65 <li>&hellip;</li>
66 <li><a class="pages-nav-list__link <?php print ($formList->page == $nbPages ? '--active' : '') ?>" aria-label="<?php print dolPrintHTMLForAttribute((string) $langs->trans('AriaPageX', $nbPages)) ?>" href="<?php print $url . '&amp;page=' . $nbPages ?>"><?php print $nbPages ?></a></li>
67 <?php } ?>
68
69 <?php if ($formList->page < $nbPages) { ?>
70 <li><a class="pages-nav-list__icon --next" aria-label="<?php print dolPrintHTMLForAttribute((string) $langs->trans('AriaNextPage')) ?>" href="<?php print $url . '&amp;page=' . ($formList->page + 1) ?>"<?php // print ($formList->page >= $nbPages ? ' disabled' : '') ?>></a></li>
71 <?php } ?>
72 </ul>
73 <?php } ?>
74</nav>
$context
@method int call_trigger(string $triggerName, ?User $user)
Definition logout.php:42
if(preg_match('/(crypted|dolcrypt):/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
'integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]',...
Definition repair.php:130
$conf db name
Only used if Module[ID]Name translation string is not found.
Definition repair.php:133