Jump to content

Limite d’affichage des produits dans le back-office bloquée à 100 (PrestaShop 8.2)


Recommended Posts

Bonjour à tous,

Je rencontre un problème avec PrestaShop 8.2 : dans le back-office, la liste des produits est limitée à 100 par page, et je n'arrive pas à augmenter cette limite.

🔎 Ce que j’ai déjà essayé :

Modifier la pagination dans HelperList.php :
public $_pagination = [20, 50, 100, 300, 1000];
➡️ Les options s'affichent bien, mais je ne peux pas dépasser 100.

Chercher une limitation dans AdminProductsController.php et ProductController.php :

Aucune valeur explicite de 100 trouvée qui bloque la pagination.

Rechercher dans la base de données (ps_configuration) :

J’ai vérifié avec :
SELECT * FROM ps_configuration WHERE name LIKE '%pagination%';

Pas de valeur limitant à 100 trouvée.

Vider le cache PrestaShop et tester en navigation privée :

Aucun changement.

Vérifier les overrides (/override/classes/helper/HelperList.php) :

Il n’y a pas d’override qui force la limite.

Ma question :

Où PrestaShop 8.2 bloque-t-il la pagination à 100 dans le back-office ?

Comment forcer un affichage de 300 ou 1000 produits par page ?

Merci d’avance pour votre aide ! 🙏

Stéphanie

Link to comment
Share on other sites

Bonjour Stéphanie, avez-vous essayé pour voir déjà si la valeur est prise en compte en modifiant l'url directement dans le navigateur :

/adminXXXXXXX/index.php/sell/catalog/products/0/1000?controller_type=2&controller_name=PrestaShopBundle%5CController%5CAdmin%5CProductController&_route=0&_token=XXX

 

 

Link to comment
Share on other sites

Si vous avez accès au php.ini augmentez le memory_limit car c'est géré dans src/Adapter/Product/AdminProductDataProvider.php

    public function getPaginationLimitChoices()
    {
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
    }

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Il y a 4 heures, Prestashop Addict a dit :

Si vous avez accès au php.ini augmentez le memory_limit car c'est géré dans src/Adapter/Product/AdminProductDataProvider.php

Joli ! Voilà une chose que je ne savais pas 👍

On a bon retourner le code tous les jours, on tombe tjs sur des petites pépites 😁

Link to comment
Share on other sites

Il y a 14 heures, Prestashop Addict a dit :

Si vous avez accès au php.ini augmentez le memory_limit car c'est géré dans src/Adapter/Product/AdminProductDataProvider.php

    public function getPaginationLimitChoices()
    {
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
    }

 

Belle découverte.

Link to comment
Share on other sites

Bonjour à tous,

Je tiens d’abord à remercier toutes les personnes qui ont pris le temps de m’aider sur ce sujet. Vos suggestions et explications ont été précieuses ! 🙏

Malheureusement, après plusieurs tentatives, le problème persiste : la pagination du back-office revient systématiquement à 100 malgré les modifications en base de données et dans le code.

🔍 Ce que j’ai essayé :

Modification de la table ps_admin_filter (remplacement "limit":100" par "limit":500).
Modification de AdminProductDataProvider.php pour forcer les valeurs de pagination.
Ajout d’un trigger MySQL pour empêcher la réécriture de la valeur (BEFORE UPDATE ON ps_admin_filter).
Vidage du cache PrestaShop et test en navigation privée.

Problème toujours présent :

La pagination passe bien à 500 temporairement, mais après un certain temps ou un rafraîchissement, elle revient automatiquement à 100.

Impossible de créer le trigger MySQL, car PrestaShop réécrit toujours la valeur (peut-être un problème d'autorisation MySQL ou une réécriture du code PHP).

Aucune entrée spécifique dans ps_configuration qui limiterait à 100.

🛠 Question :

Quel fichier ou processus dans PrestaShop pourrait encore forcer la valeur de pagination à 100 ?
Y a-t-il une autre méthode pour bloquer définitivement la valeur à 500 dans le back-office ?

Merci encore pour votre aide et vos conseils ! 😊🚀

Link to comment
Share on other sites

Le 15/02/2025 à 3:32 PM, Alpinecare a dit :

Malheureusement, après plusieurs tentatives, le problème persiste : la pagination du back-office revient systématiquement à 100 malgré les modifications en base de données et dans le code.

Le paramètre de la pagination est conservé en base de données dans la table ps_admin_filter au format json avec :

controller = ProductController
action = catalogAction

{"filter_category":"","filter_column_id_product":"","filter_column_name":"","filter_column_reference":"","filter_column_name_category":"","filter_column_price":"","filter_column_sav_quantity":"","filter_column_active":"","last_offset":"0","last_limit":"100","last_orderBy":"sav_quantity","last_sortOrder":"asc"}

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...