diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php index daeab4218..bcc337374 100644 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php @@ -241,7 +241,7 @@ class TheliaLoop extends AbstractSmartyPlugin // Find pagination $pagination = self::getPagination($loopName); - if ($pagination === null) { // loop gas no result + if ($pagination === null) { // loop has no result return ''; } @@ -250,17 +250,33 @@ class TheliaLoop extends AbstractSmartyPlugin return ''; } + $nbPage = $this->getParam($params, 'numPage', 10); + $maxPage = $pagination->getLastPage(); + + if ($content === null) { - $page = 1; + $page = $pagination->getPage(); + if($maxPage > ($page + $nbPage)) { + $end = $page + $nbPage; + } else { + $end = $maxPage; + } + $template->assign('PREV', $page > 1 ? $page-1: $page); + $template->assign('NEXT', $page < $maxPage ? $page+1 : $maxPage); + $template->assign('END', $end); + $template->assign('LAST', $pagination->getLastPage()); + } else { $page = $template->getTemplateVars('PAGE'); $page++; } - if ($page <= $pagination->getLastPage()) { + + + if ($page <= $template->getTemplateVars('END')) { $template->assign('PAGE', $page); $template->assign('CURRENT', $pagination->getPage()); - $template->assign('LAST', $pagination->getLastPage()); + $repeat = true; } diff --git a/templates/backOffice/default/customers.html b/templates/backOffice/default/customers.html index 477921719..3b74cf7bf 100644 --- a/templates/backOffice/default/customers.html +++ b/templates/backOffice/default/customers.html @@ -182,13 +182,15 @@
diff --git a/templates/frontOffice/default/category.html b/templates/frontOffice/default/category.html index 39c7401c0..e7fa3116a 100644 --- a/templates/frontOffice/default/category.html +++ b/templates/frontOffice/default/category.html @@ -91,7 +91,7 @@ {pageloop rel="product_list"} {$PAGE} {if $PAGE eq $LAST} - + {/if} {/pageloop}