Pagination absente sur les pages catégories PrestaShop : diagnostic et correction
La pagination ne s'affiche plus sur vos pages catégories PrestaShop ? Découvrez les causes fréquentes et les corrections pour category.tpl et le thème.
En bref : La disparition de la pagination sur les pages catégories PrestaShop est presque toujours causée par un fichier category.tpl personnalisé qui n'inclut plus le template pagination.tpl. Le diagnostic consiste à vérifier le thème actif, comparer avec le thème par défaut, et restaurer l'include manquant.
Introduction
Vous avez des dizaines de produits dans une catégorie, mais la pagination a tout simplement disparu ? Tous les produits s'affichent sur une seule page — ou pire, seuls les premiers apparaissent sans possibilité de naviguer vers les suivants. Ce problème, fréquent après une mise à jour de thème ou une personnalisation maladroite, trouve presque toujours son origine dans le fichier category.tpl.
Comprendre le mécanisme de pagination PrestaShop
Comment PrestaShop génère la pagination
Le contrôleur CategoryController calcule automatiquement la pagination en fonction de deux paramètres :
- Le **nombre de produits par page** (configurable dans *Préférences > Produits*)
- Le **nombre total de produits** associés à la catégorie
Le contrôleur injecte ensuite les variables Smarty nécessaires dans le template : $nb_products, $pages_nb, $p (page courante), $n (produits par page), et le bloc de pagination lui-même.
Le rôle central de category.tpl
Le fichier category.tpl de votre thème actif est responsable de l'affichage de la pagination. Sur PrestaShop 1.6, le thème par défaut (default-bootstrap) inclut la pagination via :
{include file="./product-sort.tpl"}
{include file="./product-compare.tpl"}
{include file="$tpl_dir./product-list.tpl" products=$products}
{include file="./pagination.tpl"}
Si l'une de ces lignes est absente ou commentée dans votre thème personnalisé, la pagination disparaît silencieusement.
Diagnostic étape par étape
Étape 1 : Vérifier le nombre de produits dans la catégorie
Avant toute investigation technique, confirmez que la catégorie contient effectivement plus de produits que la limite par page :
- Rendez-vous dans **Catalogue > Catégories** dans le back-office
- Cliquez sur la catégorie concernée
- Comptez les produits associés
- Comparez avec la valeur configurée dans **Préférences > Produits > Nombre de produits affichés par page**
- **Ne modifiez jamais le thème par défaut directement** — créez un thème enfant ou une copie
- **Documentez chaque modification** de vos fichiers `.tpl` avec des commentaires Smarty `{* modifié le ... *}`
- **Testez avec un jeu de données réaliste** — au moins 2× le nombre de produits par page
- **Videz le cache Smarty** après chaque modification de template (*Paramètres avancés > Performances > Vider le cache*)
- **Comparez régulièrement** votre thème avec le thème par défaut après les mises à jour de PrestaShop
Si vous avez 20 produits et que la limite est à 50, il n'y a logiquement pas de pagination — c'est un comportement normal.
Étape 2 : Tester avec le nombre de produits par page
Modifiez temporairement le nombre de produits par page à une valeur faible (par exemple 5) dans Préférences > Produits. Si la pagination apparaît, le problème est simplement une question de configuration.
Étape 3 : Identifier le thème actif et son category.tpl
Le fichier à examiner se trouve ici :
/themes/VOTRE_THEME/category.tpl
Sur PrestaShop 1.6, le thème par défaut est default-bootstrap. Si vous utilisez un thème personnalisé, c'est son category.tpl qui est utilisé, pas celui du thème par défaut.
# Vérifier quel thème est actif
grep -r "PS_THEME" /chemin/vers/prestashop/config/settings.inc.php
# Ou via la base de données
SELECT value FROM ps_configuration WHERE name = 'PS_THEME';
Étape 4 : Vérifier l'inclusion de la pagination
Ouvrez le category.tpl de votre thème et recherchez l'appel au template de pagination :
grep -n "pagination" /themes/VOTRE_THEME/category.tpl
Vous devez trouver une ligne similaire à :
{include file="./pagination.tpl"}
Si cette ligne est absente, c'est la cause du problème.
Étape 5 : Comparer avec le thème par défaut
Utilisez un diff pour identifier les écarts :
diff /themes/default-bootstrap/category.tpl /themes/VOTRE_THEME/category.tpl
Cela révèle immédiatement les blocs manquants ou modifiés.
Corrections selon la version de PrestaShop
PrestaShop 1.6 (default-bootstrap)
Assurez-vous que votre category.tpl contient bien, après la liste de produits :
<div class="content_sortPa498">
{include file="./product-sort.tpl"}
{include file="./nbr-product-page.tpl"}
</div>
{include file="$tpl_dir./product-list.tpl" products=$products}
<div class="content_sortPa498 bottom-pagination-content clearfix">
{include file="./product-sort.tpl"}
{include file="./nbr-product-page.tpl"}
{include file="./pagination.tpl"}
</div>
Vérifiez également que le fichier pagination.tpl existe dans votre thème :
ls /themes/VOTRE_THEME/pagination.tpl
S'il est absent, copiez-le depuis default-bootstrap :
cp /themes/default-bootstrap/pagination.tpl /themes/VOTRE_THEME/
PrestaShop 1.7 et 8.x (architecture modulaire)
Sur les versions modernes, la pagination est gérée différemment. Le template se trouve dans :
/themes/VOTRE_THEME/templates/catalog/_partials/products.tpl
La pagination est incluse via le widget ps_facetedsearch ou directement dans le template :
{block name='pagination'}
{include file='_partials/pagination.tpl' pagination=$listing.pagination}
{/block}
Sur PrestaShop 8.x, vérifiez également que le module Recherche à facettes est activé et correctement configuré, car il gère désormais la pagination des catégories.
Causes fréquentes de disparition de la pagination
Bonnes pratiques pour éviter ce problème
Vérification finale
Après correction, validez le bon fonctionnement :
# Vérifier que la page catégorie renvoie un 200
curl -I https://votre-boutique.com/42-nom-categorie
# Vérifier que la page 2 existe et fonctionne
curl -I https://votre-boutique.com/42-nom-categorie?p=2
Les deux URLs doivent retourner un code HTTP 200. Si la page 2 renvoie une 404 ou redirige vers la page 1, le problème persiste côté contrôleur ou .htaccess.
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

Alexandre Carette
Expert PrestaShop & Architecture E-commerce
Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.