Corriger les problèmes de déclinaisons dans le back-office de PrestaShop 1.7

C'est un problème que vous connaissez bien ou que vous découvrez si vous utilisez PrestaShop 1.7 : Si vous avez trop de déclinaisons, alors vous ne pouvez plus utiliser la fiche produit de l'administration correctement !

Les problèmes sont multiples : des erreurs 500, une page blanche, des problèmes de mémoire, des problèmes de temps de chargement de la page ou encore une fiche produit impossible à enregistrer.

La solution est prévue pour PrestaShop 1.7.8

PrestaShop a travaillé sur la solution en repensant plus globalement la fiche produit de l'administration.

C'est actuellement dans un "mode expérimental" qui est livré avec PrestaShop 1.7.8, nous ne savons pas si à la livraison de la version finale cela restera une "fonctionnalité expérimentale".

Si c'est le cas c'est peut-être plutôt lors d'une future mise à jour que cette nouvelle page sera disponible par défaut.

Notre solution entre 1.7.0 et 1.7.7

Chez Dream me up nous avons beaucoup de clients qui étaient bloqués par ce problème et nous avons donc développé notre propre solution.

Elle consiste à mettre en place une pagination en Ajax sur les déclinaisons de la fiche produit de l'administration.

Attention ! Notre solution consiste à modifier des fichiers du coeur de PrestaShop, il n'est pas possible de résoudre cela avec un module ou avec des surcharges.

Voici les étapes à suivre pour la mettre en place par vous-même sur votre site :

Veuillez noter que nous ne ferons pas de support si vous choisissez de modifier les fichiers par vous-même.

(Nous proposons également de l'installer pour vous si vous préférez, en bas de cette page)

1. Création d'un fichier Javascript qui va gérer la pagination en Ajax

Créer un fichier combinations_pagination.js dans / (dossier admin) / themes / default / js / combinations_pagination.js

https://github.com/dreammeup/ps17_combinations_admin/blob/master/admin/themes/default/js/combinations_pagination.js

2. Création d'un fichier de template pour gérer la pagination Javascript

Créer le fichier javascript_pagination.html.twig dans src / PrestaShopBundle / Resources / views / Admin / Common / javascript_pagination.html.twig

https://github.com/dreammeup/ps17_combinations_admin/blob/master/src/PrestaShopBundle/Resources/views/Admin/Common/javascript_pagination.html.twig

3. Modification du ProductController pour gérer l'enregistrement des données

Modifications à faire dans le fichier src / PrestaShopBundle / Controller / Admin / ProductController.php

Cliquez ici pour voir les modifications à effectuer sur github

4. Modification du template des déclinaison pour ajouter la pagination

Modification à faire dans le fichier src / PrestaShopBundle / Resources / views / Admin / Product / ProductPage / Forms / form_combinations.html.twig

Cliquez ici pour voir les modifications à effectuer sur github

5. Vider le cache PrestaShop

Pour terminer, rendez-vous dans votre administration, dans "Paramètres Avancés > Performances" et cliquez sur le bouton "Vider le cache" en haut à droite.

Installation de notre solution

Si vous n'êtes pas en mesure d'installer notre solution vous-même, que vous n'avez pas le temps ou l'envie, ou si vous avez des problèmes pour la mettre en place, nous vous proposons une prestation d'installation.

Commander la prestation d'installation

 

Le 09 juillet 2021