🎨 Design & ThèmesIntermédiaire PS 1.6 PS 1.7 PS 8.x

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.

Publié le 21 mars 2026 5 min de lecture Alexandre Carette

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 :

  1. Rendez-vous dans **Catalogue > Catégories** dans le back-office
  2. Cliquez sur la catégorie concernée
  3. Comptez les produits associés
  4. Comparez avec la valeur configurée dans **Préférences > Produits > Nombre de produits affichés par page**
  5. 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

    CauseSymptômeSolution `pagination.tpl` absent du thèmeAucune pagination visibleCopier depuis le thème par défaut Include commenté dans `category.tpl`Pagination disparue après modificationDécommenter la ligne Module de filtre désactivé (1.7/8.x)Pagination + filtres absentsRéactiver `ps_facetedsearch` Cache Smarty obsolèteFonctionne en dev, pas en prodVider le cache dans *Paramètres avancés* Surcharge (override) défaillanteAprès mise à jour du thèmeVérifier `/override/controllers/front/CategoryController.php` Nombre de produits < limite par pageComportement normal, pas un bugAjuster la limite ou ignorer

    Bonnes pratiques pour éviter ce problème

    1. **Ne modifiez jamais le thème par défaut directement** — créez un thème enfant ou une copie
    2. **Documentez chaque modification** de vos fichiers `.tpl` avec des commentaires Smarty `{* modifié le ... *}`
    3. **Testez avec un jeu de données réaliste** — au moins 2× le nombre de produits par page
    4. **Videz le cache Smarty** après chaque modification de template (*Paramètres avancés > Performances > Vider le cache*)
    5. **Comparez régulièrement** votre thème avec le thème par défaut après les mises à jour de PrestaShop
    6. 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.

#pagination #category.tpl #thème #template Smarty #affichage produits

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

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.