Ajouter l’option « Voir tout » à la pagination du catalogue sous Prestashop 1.7

Cette option va permettre d’ajouter, à votre Prestashop, un bouton « Voir tout » à la navigation page par page située dans le catalogue des articles afin d’afficher tous les produits d’un coup (ici 10000) et non plus page par page.

Ce petit hack fonctionne parfaitement avec le module de navigation à facettes. On ne perd donc rien en fonctionnalités !

Editer le fichier ProductListingFrontController.php située dans /classes/controller. Vers la ligne 285, vous devriez trouver cela :

$resultsPerPage = (int) Tools::getValue('resultsPerPage');
if ($resultsPerPage <= 0 || $resultsPerPage > 36) {
    $resultsPerPage = Configuration::get('PS_PRODUCTS_PER_PAGE');
}

Remplacez ici la valeur « 36 » par un nombre bien plus grand, 10000 par exemple :

$resultsPerPage = (int) Tools::getValue('resultsPerPage');
if ($resultsPerPage <= 0 || $resultsPerPage > 10000) {
    $resultsPerPage = Configuration::get('PS_PRODUCTS_PER_PAGE');
}

Sauvegardez. Maintenant, ouvrez le ficher pagination.tpl de votre thème. Normalement, il est ici : /themes/<mon_theme>/templates/_partials/.

Vous devriez voir une instruction {/foreach} qui termine la boucle d’affichage page par page. En dessous de cette instruction, collez ce code :

<a href="{$smarty.server.REQUEST_URI|regex_replace:"/\?page=(.*)/is":""}{if {$smarty.server.REQUEST_URI|regex_replace:"/\?page=(.*)/is":""}|strstr:"?"}&{else}?{/if}resultsPerPage=10000" class="view-all"><span>{l s='View all' d='Shop.Theme.Actions'}</span></a>

Sauvegardez, c’est fini !

A vous d’adapter le code pour qu’il colle avec votre style/thème/affichage. Ce code gère aussi les traductions.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *