Tutoriel : Mise a jour des produits / corrections du bug

Pour corriger se bug il suffit de :

  • Télécharger le zip disponible à la fin de l’article,
  • Extraire les fichiers sur votre FTP
  • 9 fichiers doivent être remplacés

 

Si depuis quelques jours, tu remarques un problème de mise à jour des produits Prestashop, cet article devrait t’aider à comprendre et corriger le problème.

Le bug de mise à jour des produits touche toutes les versions de Prestashop (de 1.5 à 1.6.1.7), il sera apparement corrigé dans les version 1.6.1.8 et dans la 1.7 (j’ose espérer).

 

La correction du bug se trouve à la fin de l’article 😉

 

Mise à jour :

La 1.6.1.8 ne semble pas épargné 🙁

Il apparait avec les derniers mises à jour des navigateurs comme la version de chrome 54.0

Un topic (un poil technique) sur : pourquoi utilisez des requêtes asynchrone

Exit les requêtes synchrone dans Prestashop :

Prestashop utilise des requetes synchrone pour le fonctionnement du back-office, mais ces dernières sont depuis 2012 déprécié par les navigateurs WEB comme Google Chrome / Firefox…

Chrome d’ailleurs, indique dans la console javascript (Clic droit > Inspecter > Console) que les requêtes synchrone sont dépréciés car elles jouent un rôle négatif sur l’expérience utilisateur.

 

Impossible de mettre a jour produit prestashop
Impossible de mettre a jour produit prestashop

 

Le message est clair mais on ne s’attendait pas un à devoir corriger d’urgence les boutiques prestashop. J’ai eu connaissance de ce bug par un client qui ne pouvait plus enregistrer ces produits, enfin c’était même plus capricieux que ça, car le bug semblait être aléatoire. Il pouvait parfois mettre à jour un produit alors que genre 1 fois sur 4 ça ne fonctionné pas… pire encore certain de ses employés pouvait enregistrer des produits alors que d’autres ça ne pouvait rien faire.

 

Mise à jour :
PrestaEdit m’indique que le fait de cliquer sur le mot « sauvegarder » permet de bien enregistrer malgré le bug alors que si tu cliques sur le bouton, ça ne marche. D’ou le côté aléatoire des tests.

 

 

J’ai tout d’abord pensé à un problème de cache… mais rien de se côté là. J’ai fini par perdre mes derniers cheveux, lorsque AtchWork (membre de la communauté Prestashop) m’a orienté vers le topic du forum :

https://www.prestashop.com/forums/topic/563951-probl%C3%A8me-enregistrer-et-rester/

Problème identifié / Fix à appliquer :

Le problème est donc identifié, il faut virer les requêtes synchrone de Prestashop (back-office) pour les remplacer par des asynchrones… ça semble logique comme ça mais c’est parfois pas si simple 🙂

 

Un pull-request à été proposé sur la branche Github de prestashop :

https://github.com/PrestaShop/PrestaShop/pull/6749 – 9 fichiers sont à modifier pour corriger ce bug.

/!\ Attention, ces fichiers ne concerne que les versions 1.6.0.14+. Les version 1.6.0.0 -> 1.6.0.1& ont une arborescence légèrement différentes.

Télécharger le zip des fichiers à remplacer ici :

Prestashop version (supérieur à) 1.6.0.12 :

prestashop-fichiers-1_6_0_12-et-superieur

Prestashop version 1.6.0.0 a 1.6.0.11 :

prestashop-fichiers-1_6_0_11-et-inferieur

 

Il te suffit de remplacer les fichiers de du dossier admin-dev dans ton dossier adminXYZ

et de remplacer les dossier JS et classes à la racine de ton Prestashop. Normalement, ton filezilla (ou autre) doit te demander si tu souhaites remplacer les fichiers sources par les nouveaux : OUI

C’est fini ! Il y a plus qu’a mettre à jour tes produits 😉

 

4.6 (91%) 20 votes

113 thoughts on “[RESOLU] Prestashop : Mise à jour ou enregistrement impossible d’un produit”

  1. Petit retour d’expérience sur 1.6.1.8,

    je n’ai pas pu remplacer l’un des 3 fichiers (en l’occurence tree_toolbar_search.tpl) car dans la 1.6.1.8, il ne semble pas exister. Son nom a dû changer et j’ai pas pris le temps de faire un diff pour voir la modif à opérer.
    Mais l’essentiel est que ===> CA MARCHE !

    Grand merci, cette sauvegarde aléatoire me rendait dingue.
    Au passage c’est le genre de bug qui m’a toujours fait flipper sur PS, qui reste vraiment super bien sur plein d’aspects (j’adore PS).

  2. Bonjour à vous,
    je m’explique : j’ai une boutique qui tourne sur la version 1.6.0.9 mais suite aux fameux bugs du bouton Enregistrer sur les fiches produits à cause de la nouvelle politique des navigateurs qui bloque les requêtes synchrones, j’ai voulu migrer vers la version 1.6.1.9 mais une fois mise à jour, la boutique ne fonctionne plus (dans l’admin les sous menus des catégories n’apparaissent plus et un message d’erreur serveur apparaît) donc je suis revenu à la version précédente.
    J’ai pu voir qu’il existait un patch correctif pour solutionner le bug du bouton enregistrer lorsqu’on veut mettre à jour ou créer un produit : je l’ai mis mais le bug persiste malheureusement.

    Donc je vous avoue que j’ai plus trop de solutions si une personne a connu cette impasse et qu’elle souhaite m’aider je suis preneur 🙂
    Merci à vous.
    Cordialement.

      1. Je vous remercie pour votre réponse rapide.

        Oui lors de l’inspection de l’élément, j’ai bien le message indiquant la requête synchrone.

        Sur le lien que vous m’avez donné c’est pour les versions 1.6.1.x ? Car je suis sur la 1.6.0.9. J’avais téléchargé auparavant le lien du patch présent sur votre blog pour ma version.

        Cordialement.

        1. Désolé pour le double post.
          J’ai mis le patch correspondant à ma version.
          A présent j’ai ce message lorsque je consulte la console :
          « Uncaught ReferenceError: mod_evasive is not defined(…) »

          1. Le lien est effectivement pour la version 1.6.1.X mais il faut adapter les patchs a la version 1.6.0.9.
            Si le fichier cible ne se trouve pas sur votre version,faut retrouver le fichier correspond (qui doit avoir le même nom) mais pas forcément dans le dossier.

            Pour l’erreur au niveau de mod_evasise,
            Juste avant la condition

            if (mod_evasive)

            ajouter juste avant mod_evasive = false;

  3. Je suis reparti de zéro, j’ai changé manuellement fichier par fichier comme vous me l’aviez conseillé. La console m’affiche cette fois :
    « ReferenceError: tinyMCE is not defined[En savoir plus] tinymce.inc.js:44:2 »

      1. Bonjour Vincent,
        Je suis tombé sur vos explications concernant le bug en BO sur l’enregistrement des fiches articles, ce qui me concerne directement :((
        N’étant pas capable moi même d’intervenir je voulais vous demander si vous pouvez travailler sur mon site en consultance ou autre.
        Je vous laisse mon mail au passage:
        info@green-tech-shop.com
        A bientôt j’espère :))

    1. Oui je l’ai modifié aussi. J’ai modifié les 9 fichiers.
      Je peux à nouveau créer et modifier des articles mais dans Association (dans la catégorie Produits) lorsque je décoche « Accueil » et je coche les sous menus « Femme -> robe » et que je clique sur Enregistrer et rester, le bug réapparaît mais si je coche Accueil puis Femme puis robe (donc les 3) l’enregistrement se déroule correctement. Je vais essayer de trouver pourquoi. si je trouve une solution je partagerai ici si ça peut aider.

      Un grand merci à vous pour votre précieuse aide.

  4. Bonjour à tous,

    La version de mon Prestashop est 1.6.0.14…

    Donc je dois utiliser quel lien ?

    Prestashop version (supérieur à) 1.6.1.0

    ou

    Prestashop version 1.6.0.0 a 1.6.0.9 :

    Merci bien !
    Cordialement

  5. Help Please!
    I have prestashop 1.6.1.5 and i didn’find the tree of the folder admin-dev to replace the file.
    I did not find the file tree_toolbar_search.tpl so i cannot replace it.
    Could you helm me?

    1. Hello,

      admin-dev correspond to your admin folder, upload admin-dev content inside your admin folder. Normally, Filezilla (or other) should ask you if you want override files, just count, you should get 9 files replaced (include js and class files)

  6. bonjour à vous.
    J’ai filezillaté les neuf fichiers sur ma version 1.6.1.10,
    Je n’ai pas encore de produits, si ce n’est ceux pré-enregistrés dans le template-bootstrap. mais que j’aille sur les fichiers ou que j’en crée un nouveau, j’ai les deux boutons enregistrer qui tournent en continu.
    En gros pas de réparation pour l’instant.
    Est-ce que cela tient aux configurations dans les paramètres avancés de sécurité ?
    si oui, pourriez vous indiquer quelles sont les onglets à cocher oui ou non, avant la copie, et ceux à changer après ? J’ai vu que cela se faisait dans beaucoup de cas.
    Désolé, j’y comprends keutch dans le détail. J’arrive juste à fouiller et remplacer les lignes de codes que d’autres écrivent. Mais de là à savoir ceque cela change 😉 😀
    Merci d’avance pour votre réponse. C’est con d’avoir avancé sur la boutique pour finir par rester planté comme une barrique à la création du premier produit…

  7. Bonjour a vous,

    J’ai tjrs le probleme. je suis en derniere version 1.6.1.11. (J’ai même fait un restaure en 1.6.1.7 pour voir en vain). J’ai bien remplacé chaque fichier 1 a 1….

    Ca mouline tjrs sur l’enregistrement des produits…. Une piste svp ?
    Merci à vous et merci pour vos echnages et eclairages

      1. Ah ben c’est pas un probleme de browser car j’ai le probeme sur tous les navigateurs… tous les modules sont à jour.

        je vais nettoyer la bdd avec le nettoyer… et virer les modules en trop pour voir…

        sinon la procedure tricky faut que je lise au calme. vous l’avez faite ?

        1. Oui, déjà fait sur un prestashop mais je ne me souviens plus de la version.

          Si tu as un accès SSH, tu peux utiliser ces deux commandes pour remplacer les disabled et l’icone dans tous les fichiers .tpl

          Pense à faire une copie des fichiers et placer une autre copie dans : /override/controllers/admin/templates/products

          sed -i 's/disabled="disabled"//g' *.tpl
          sed -i 's/process-icon-loading/process-icon-save/g' *.tpl

          1. Il y a dans tous les tpl des lignes de code à modifier ?

            « Find at the bottom of all these freshly copied files the same lines »

            {l s=’Save’}
            {l s=’Save and stay’}

          2. Bon j’ai fait le trick…. echec… ca n’a rien changé.

            En gros ca enregistre mais ca mouline et plante….Je sais pas trop quoi faire

  8. C’est quand même bizarre car en fait l’enregistrement se fait quand même au bout.
    Dommage pour prestashop ce genre de bugs quand même.

    Je vais faire ca et je vous fait le retour…

  9. Bonjour,

    Le problème a déboulé d’un coup sur un Prestashop dont rien n’a été modifié depuis quelques temps. Pas de mise à jour, ni des modules, rien, et d’un coup la mise à jour des quantités part en vrille.
    J’ai trouvé cette solution en cherchant via Google, merci !

    Par contre je ne sais pas trop si ça a corrigé une partie du problème ou pas… Les quantités des produits souffrent toujours un d’un problème de mise à jour sur la fiche produit. Depuis le listing des produits dans l’admin ça affiche la bonne quantité. Mais pas dans la fiche, ça ne se met pas à jour, ça affiche toujours l’ancienne quantité. C’est étrange. La manière de traiter les commandes selon le stock (accepter, refuser, toujours accepter) semble aussi avoir du mal à se mettre à jour.

    Pour les autres champs, je n’ai rien remarqué pour le moment.

    1. Je m’auto-réponds : comme je me le disais, c’était assez étrange que ça déboule d’un coup aujourd’hui.

      Il semblerait que le problème soit similaire, mais la cause différente : c’est le système de cache qui part en vrille à cause de celui de l’hébergement en parallèle. Je laisse le varnish de Gandi, pas celui de Prestashop, et tout revient à la normale.

  10. Bonjour,
    merci pour cet article. Je suis sous presta 1.6.0.11 et j’avais le problème d’enregistrement sur chrome. J’ai mis à jour les 9 fichiers et désormais les boutons enregistrer restent en permanence grisé y compris sous firefox. Dans inspecter puis console j’ai ce message, je ne sais pas si il y a un lien:
    Uncaught ReferenceError: mod_evasive is not defined
    at ProductTabsManager.displayBulk (admin-products.js:202)
    at index.php:1274
    at dispatch (jquery-1.11.0.min.js:3)
    at r.handle (jquery-1.11.0.min.js:3)

    Si vous avez une idée?
    merci d’avance

    1. Hello Lebond,

      Merci pour ton retour, essaie d’ajouter au dessus
      var mod_evasive = false;
      juste avant la ligne 202 du fichier /js/admin/admin-products.js

      Ca devrait ressembler à ca :

      var time = 0;
      var mod_evasive = false;
      if (mod_evasive) {
      time = 1000;
      }

      1. Merci Vincent,
        Alors est-ce bien le fichier/js/amin-products.js parce que dans /js/admin je n’ai pas ce fichier?
        Sinon oui j’ai essayé d’inclure la ligne mais ça n’a pas fonctionné.

          1. Oui c’est bien ce que j’ai fait. J’ai ça:
            var time = 0;
            var mod_evasive = false;
            if (mod_evasive) {
            time = 1000;
            }
            var tabs_running_timeout = setTimeout(function(){
            stack.shift();
            if (stack.length > 0) {
            self.displayBulk(stack);
            }
            }, time);
            }
            }
            Le fait que j’utilise un autre thème (warehouse) que le thème par défaut peut-il jouer?
            Je bloque là! merci pour votre aide

  11. Bonjour,
    J’ai le même problème mais j’ai remarqué que le fichier tree_toolbar_search.tpl n’existe pas dans ma versione de prestashop 1.6.0.14.
    Comment faire? Dois-je quand-même charger tous les fichiers ou uniquement ceux qui existent effectivement dans ma version de PS?

    Merci pour votre aide!

  12. bonjour,
    merci poru le patch.
    Je viens d’essayer et en back office je n’arrive plus a charger l’onglet associations
    version de prestashop1.6.09

    merci pour votre aide,

    cordialement,

      1. salut Vincent !
        Merci,
        j’ai vidé mon cache en fait et recompiler les fichiers.
        Ca fonctionne sur la 1.6.0.9

        Je vais pouvoir tester si ca fonctionne mais l’installation s’est bien passé. Je rageais d’essayer d’enregistrer 25 fois les produits quand je faisais une mise a jour ou nouveau produit.
        SI ca change cela, ca va tout changer la productivité va monter en flèche !

          1. Salut Vincent,
            bon j’ai parlé trop vite je crois

            j’ai ce message d’erreur quand j’essaie d’enregistrer et rester.

            3 erreurs
            Le champ link_rewrite est obligatoire au moins en Français (French)
            Le produit doit être au minimum dans une catégorie.
            Ce produit doit être dans la catégorie par défaut.

            Alors que tout est rempli.

            egalement, je sais pas si cela est lié, mais j’ai essayé de renseigner l’EAN des produits. J’ai ensuite un message d’erreur de trop de redirection quand j’arrive a enregistrer …

          2. Salut Vincent,
            C’est bien le bug que j’ai.
            Le truc, c’est que je n’y avais pas avant la modif des fichiers..
            Bon c’est à choisir entre la peste ou le choléra alors..
            J’avais effectivement trouver la manip en bo pour passer outre le bug comme indiqué sur la page que tu m’as envoyé…

          3. Rebonjour,
            Bon je viens de faire le test sur les modifications de produits et ca ne fonctionne pas chez moi. J’ai les fameux messages d’erreur en rouge indiqué et les modif ne sont pas prises en compte… pas de chance

  13. Bonjour Vincent

    Merci beaucoup pour ce correctif qui semble fonctionner sur PS 1.6.1.0 !

    Je n’ai plus de sauvegarde aléatoire des fiches produits Aleluia.
    Cependant j’ai un nouveau problème pour sélectionner les catégories associées au produit. Lorsque je suis dans la rubrique « Associations » je clique sur un dossier catégorie pour afficher les sous catégories, il semble que le dossier soit vide (les sous catégories n’apparaissent plus).

    Savez-vous à quoi peut etre du ce problème… Sachant que j’ai bien copié les 9 fichiers.

    Merci d’avance.
    Thibaut

    1. Hello Thibaut,

      Quand tu clics droit > inspecter > Console. As tu une erreur (en rouge) qui apparait ?

      Désolé du délai, je suis actuellement en vacances.. 😉

  14. Bonjour,

    Je suis tombé sur ce sujet en essayant d’arrêter de m’arracher les cheveux… Merci à ceux qui ont trouvé la solution. J’ai une version 1.6.1.4 et ai fait les modifications prescrites mais il me semble rencontrer le même problème que Leblond : les boutons enregistrer qui sont grisés et qui moulinent pour rien.

    J’ai tenté la modif suggérée :

    var time = 0;
    var mod_evasive = false;
    if (mod_evasive) {
    time = 1000;
    }
    Dans le fichier /js/admin/products.js d’ailleurs car c’est tout ce que j’ai trouvé… Et aucun effet, du coup je ne peux plus rien enregistrer maintenant. Merci d’avance pour votre aide

    1. Hello Gwen,

      Ok, je vois… peux tu essayer cette manipulation :

      • Télécharger ce zip : prestashop products onglets sans loading
      • Via le FTP, se rendre dans /override/controllers/admin/templates/products
      • Envoyer les fichiers du zip (tous les .tpl) dans le dossier (products)

      Les fichiers vont remplacer ceux de prestashop. Il vont juste enlever le « loading »… Il me semble que c’est la solution que l’on à adopté avec leblond 😉

      Je t’aurai bien aidé directement au téléphone, mais je suis actuellement en vacances 😉

  15. Bonjour,

    Je suis en 1.6.1.1… je pensais justement que votre article allait solutionner mon problème…

    Mais non, j’ai en effet sur la console plus le message asynchrone, mais cela ne s’enregistre toujours pas.

    Avez-vous une solution ?

    J’ai beau faire cela avec Chrome, Safari ou Opéra…

    Tanguy

    1. Hello Tanguy,

      Quand tu dis cela s’enregistre pas, as tu la possibilité d’enregistrer ou le bouton tourne en rond ?
      Pas de message d’erreur dans la console ?

      1. Bonjour Vincent,

        Non pas de message d’erreur et les boutons sont bien actifs.

        La mise à jour se fait sur tout sauf sur « Caractéristiques » et « Déclinaisons ».

        Quentin

  16. Bonjour,

    J’ai remplacé les fichiers, mais maintenant les deux boutons « Enregistrer » et « Enregistrer et rester » sont grisés et en rechercher permanente, aussi, quand je clique sur « Prix » « Associations » ou « Déclinaisons » plus rien ne s’affiche … Pouvez-vous m’aider svp ? J’ai tout cassé !!

    Merci !

      1. Bonjour Vincent,

        Merci pour ce retour, j’ai effectivement réussi à remettre les boutons « enregistrer » comme il faut, mais maintenant, j’ai toujours le problème des onglets qui n’affichent plus rien … voici ce que j’ai en inspectant : Merci !!

        Uncaught ReferenceError: mod_evasive is not defined
        at ProductTabsManager.display (products.js:96)
        at HTMLAnchorElement. (index.php:1029)
        at HTMLAnchorElement.dispatch (jquery-1.11.0.min.js:3)
        at HTMLAnchorElement.r.handle (jquery-1.11.0.min.js:3)
        at Object.trigger (jquery-1.11.0.min.js:3)
        at Object.e.event.trigger (jquery-migrate-1.2.1.min.js:2)
        at HTMLAnchorElement. (jquery-1.11.0.min.js:3)
        at Function.each (jquery-1.11.0.min.js:2)
        at e.fn.init.each (jquery-1.11.0.min.js:2)
        at e.fn.init.trigger (jquery-1.11.0.min.js:3)
        products.js:96 Uncaught ReferenceError: mod_evasive is not defined
        at ProductTabsManager.display (products.js:96)
        at ProductTabsManager.displayBulk (products.js:179)
        at index.php:1138
        at dispatch (jquery-1.11.0.min.js:3)
        at r.handle (jquery-1.11.0.min.js:3)
        products.js:96 Uncaught ReferenceError: mod_evasive is not defined
        at ProductTabsManager.display (products.js:96)
        at HTMLAnchorElement. (index.php:1029)
        at HTMLAnchorElement.dispatch (jquery-1.11.0.min.js:3)
        at HTMLAnchorElement.r.handle (jquery-1.11.0.min.js:3)
        products.js:96 Uncaught ReferenceError: mod_evasive is not defined
        at ProductTabsManager.display (products.js:96)
        at HTMLAnchorElement. (index.php:1029)
        at HTMLAnchorElement.dispatch (jquery-1.11.0.min.js:3)
        at HTMLAnchorElement.r.handle (jquery-1.11.0.min.js:3)

          1. C’est que je ne sais pas comment faire pour ouvrir un fichier .js et entrer dans le code … 🙂 Merci pour votre aide

          2. j’ai intégré ceci
            var time = 0;
            var mod_evasive = false;
            if (mod_evasive) {
            time = 1000;
            }
            ;

            Et maintenant j’ai la console qui m’annonce quelque chose sur le fichier jquery-1.11.0.min.js mais je ne sais pas ce que cela veut dire.

  17. Bonjour,

    Merci pour le correctif.
    Je peux désormais enregistrer les produits, mais par contre l’onglet prix reste désespérément vide.

    Mon Prestashop : 1.6.0.14

    Ce que j’ai fait : Correctif prestashop-fichiers-1_6_0_12-et-superieur -> Appliqué -> Aucun effet

    Ensuite ->Application de « prestashop products onglets sans loading » -> Les boutons refonctionnes par contre l’onglet prix reste vide

    Ensuite -> var mod_evasive = false; -> Aucun effet

    Résultat de la console chrome :

    Uncaught SyntaxError: Unexpected token )
    VM555:13 Uncaught TypeError: $(…).datetimepicker is not a function
    at HTMLDocument.eval (eval at (jquery-1.11.0.min.js:2), :13:21)
    at j (jquery-1.11.0.min.js:2)
    at Object.add [as done] (jquery-1.11.0.min.js:2)
    at e.fn.init.n.fn.ready (jquery-1.11.0.min.js:2)
    at eval (eval at (jquery-1.11.0.min.js:2), :2:15)
    at eval ()
    at jquery-1.11.0.min.js:2
    at Function.globalEval (jquery-1.11.0.min.js:2)
    at e.fn.init.domManip (jquery-1.11.0.min.js:3)
    at e.fn.init.append (jquery-1.11.0.min.js:3)
    (anonymous) @ VM555:13
    j @ jquery-1.11.0.min.js:2
    add @ jquery-1.11.0.min.js:2
    n.fn.ready @ jquery-1.11.0.min.js:2
    (anonymous) @ VM555:2
    (anonymous) @ jquery-1.11.0.min.js:2
    globalEval @ jquery-1.11.0.min.js:2
    domManip @ jquery-1.11.0.min.js:3
    append @ jquery-1.11.0.min.js:3
    (anonymous) @ jquery-1.11.0.min.js:3
    n.access @ jquery-1.11.0.min.js:3
    html @ jquery-1.11.0.min.js:3
    success @ products.js:127
    j @ jquery-1.11.0.min.js:2
    fireWith @ jquery-1.11.0.min.js:2
    x @ jquery-1.11.0.min.js:4
    b @ jquery-1.11.0.min.js:4
    jquery-1.11.0.min.js:3 GET http://xxx/img/p/fr-default-small_default.jpg 404 (Not Found)
    buildFragment @ jquery-1.11.0.min.js:3
    domManip @ jquery-1.11.0.min.js:3
    append @ jquery-1.11.0.min.js:3
    (anonymous) @ jquery-1.11.0.min.js:3
    n.access @ jquery-1.11.0.min.js:3
    html @ jquery-1.11.0.min.js:3
    success @ products.js:127
    j @ jquery-1.11.0.min.js:2
    fireWith @ jquery-1.11.0.min.js:2
    x @ jquery-1.11.0.min.js:4
    b @ jquery-1.11.0.min.js:4

    Si quelqu’un a une idée ?

    Cordialement,

    1. Je pense qu’il y a une erreur de syntaxe, tu as du effacer une ligne ou ajouter quelque chose de pas bon dans un fichier javascript.

      Je t’envoi un email pour qu’on voit ça ensemble 😉

  18. Bonsoir,

    Depuis quelques temps j’avais aussi ce problème d’actualisation de produits hasardeuse.

    J’ai essayé le correctif des neufs fichiers, le remplacement de ceux-ci s’est bien passé, et miracle !… de courte durée. Tout à bien fonctionné pour 2 articles jusqu’à ce que, voulant créer un autre produit, je remarque que l’éditeur de texte pour les descriptions n’est plus présent. J’essaie d’enregistrer, peine perdue :

     » 2 erreurs
    Le produit doit être au minimum dans une catégorie.
    Ce produit doit être dans la catégorie par défaut.  »

    Et dans l’onglet associations, les sous-catégories n’apparaissent plus.

    J’ai vidé les caches 50 fois, testé les modifs sur product.js, rien y fait. Je suis sur la version 1.6.1.4.

    La console me retourne le message suivant :

    Calling Element.createShadowRoot() for an element which already hosts a shadow root is deprecated. See https://www.chromestatus.com/features/4668884095336448 for more details.
    init @ chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.preload.js:465
    tinymce.inc.js:45 Uncaught ReferenceError: tinyMCE is not defined
    at tinySetup (tinymce.inc.js:45)
    at index.php:2304
    at ProductTabsManager.onLoad (products.js:87)
    at HTMLDocument. (index.php:2303)
    at j (jquery-1.11.0.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
    at Function.ready (jquery-1.11.0.min.js:2)
    at HTMLDocument.K (jquery-1.11.0.min.js:2)

    Si quelqu’un a une idée, je prend !

  19. Bonjour,

    Merci pour cette piste sur ce problème pénible !
    Pour ma part en 1.6.0.9, après application de vos instructions j’ai des erreurs 500 lors des commandes après l’étape du choix d’adresse.
    J’ai recompilé les templates et désactivé le cache. C’est mieux pour les erreurs 500 mais maintenant impossible d’enregistrer sur les fiches produit, j’ai les fameuses 3 erreurs :

    Le champ link_rewrite est obligatoire au moins en Français (French)
    Le produit doit être au minimum dans une catégorie.
    Ce produit doit être dans la catégorie par défaut.

    De plus je ne peux plus réactiver le cache, ça part en timeout quand j’enregistre après l’avoir réactivé.

    Si vous avez une idée je serai bien preneur 🙂

    Merci d’avance,

    Benoît

  20. J’ai trouvé une solution qui a résolu mon problème : j’ai installé la version « riche » de l’éditeur de texte TinyMCE en suivant ce tutoriel : https://mypresta.eu/en/art/prestashop-16/extended-rich-text-editor.html

    à l’exception que je n’ai pas eu à modifier le fichier Validate.php pour que cela fonctionne, au contraire, une modif de ce fichier me retournait une erreur 500 ( et pourtant la syntaxe était bonne ).

    Cela m’a pris 5mn, et ça à l’air de tenir !

    Bonne soirée à tous.

  21. Bonjour Vincent,

    J’ai une version 1.6.0.9 de Prestashop.

    J’ai ce soucis :

    J’ai tenté cela mais la console indique toujours le même message d’erreur comme ci ma modif n’était pas été prise en compte :
    var time = 0;
    var mod_evasive = false;
    if (mod_evasive) {
    time = 1000;
    }

    Pour le coup, j’ai tjs des difficultés à l’enregistrement de la sorte :

    3 erreurs
    Le champ link_rewrite est obligatoire au moins en Français (French)
    Le produit doit être au minimum dans une catégorie.
    Ce produit doit être dans la catégorie par défaut.

    Je sèche un peu.

  22. Merci, j’ai appliqué le correctif (9 fichiers à modifier ) et le correctif (boutons sans loading) tout re-fonctionne à la perfection.

    Un grand merci.

  23. Bonjour
    Tout d’abord merci pour ton travail mais j’ ai exactement le même problème que Gregory qui a posté le 14 février 2017.
    J’ai la version PS 1.6.0.9 j’ ai modifié tous les fichiers dans filezila un par un manuellement.
    et j’ ai toujours les 3 message d’erreur:7

    3 erreurs

    Le champ link_rewrite est obligatoire au moins en Français (French)
    Le produit doit être au minimum dans une catégorie.
    Ce produit doit être dans la catégorie par défaut.

  24. Bonjour,

    Je travaille sur Prestashop 1.7et depuis hier j’ai un problème d’enregistrement des modifications et pas que sur la fiche produit.

    En gros chaque modification que je fais en Admin je ne la retrouve pas sur le site. Pourtant la notification verte apparait clairement « Réglages mis à jour » … et pourtant…

    Je clique même sur le bouton « Visualiser » après l’enregistrement et la notification verte, et la page web apparaît avec l’ancien texte, alors que j’ai sous les yeux le nouveau texte saisi et validé en admin…

    Bien évidemment il suffit que je retourne au catalogue et que je revienne à la fiche pour retrouver l’ancienne version.

    Le pire c’est que le bug semble être aléatoire. Il peut parfois mettre à jour un produit alors que le suivant ne sera pas enregistré…

    Merci de votre aide, je ne sais plus quoi faire

    Fadwa

    1. Bonjour, j’ai exactement le même problème : pas de mise à jour des produits après des modifications validées par « Réglages mis à jour » !!

      Vous avez eu une réponse sur ce bug ?

  25. Bonjour Vincent,

    Merci pour ce super article, j’ai bien cru qu’il répondrait à mon problème, mais malheureusement il semblerait que ce ne soit pas mon bug finalement en lisant le commentaire de Grégory. J’ai le même bug :

    3 erreurs
    Le champ link_rewrite est obligatoire au moins en Français (French)
    Le produit doit être au minimum dans une catégorie.
    Ce produit doit être dans la catégorie par défaut.

    Dès que j’essaye de mettre à jour un produit et cela de façon aléatoire j’ai ces 3 erreurs.
    Je dois attendre un certain temps (aléatoire) avant de faire « enregistrer » pour que ces 3 erreurs disparaissent. Il semblerait que le chargement de ces 3 « onglets » soit extrêmement lent. En effet lorsque je clique sur un onglet au hasard, prestashop essaye de « charger » dans le vide 😐

    Je me posais la question de savoir, si vous aviez pu trouver une solution à son problème ?
    Peut-être cela résoudra le mien. Ce qui est étonnant est que nous avons un 2nd prestashop qui a le même bug et pourtant, il ne me semble pas que nous ayons de modules en commun.
    Il s’agit de PS 1.6.0.8

    Par avance, merci 🙂

  26. Bonjour Vincent,
    j’ai lu et relu et re-re-lu tous les messages mais je suis coincée…

    Voici mon problème : je suis sous prestashop 1.6.0.11
    Soudainement j’ai eu le problème suivant : je ne pouvais plus créer de déclinaisons pour mes produits (ni sur produits existants ni sur produits nouveaux)
    Je suis donc tombé sur votre article et ai téléchargé le patch pour ma version.
    J’ai pu remplacer les fichiers indiqués.
    Ensuite… mes boutons « enregistrer » et « enregistrer + rester » restent gris et tournent en rond dès que j’arrive sur une page produit. L’erreur « Uncaught ReferenceError: mod_evasive is not defined » est donné dans la fenêtre d’inspection.
    J’ai donc appliqué la correction : var time = 0;
    var mod_evasive = false;
    if (mod_evasive) {
    time = 1000;
    }

    Makheureusement cela ne change rien, j’ai toujours mes boutons qui tournent…
    J’ai aussi vidé le cache du navigateur entre temps

    Je précise que j’ai essayé sur Chrome en version : 57.0.2987.133
    puis Chrome en version : 53.0.2785.116 (car on m’avait dit que cette version de chrome ne posait pas problème…
    ainsi que sur IE 11 et Firefox 52.0.2

    une idée ?
    par avance merci pour votre aide
    Cindy

  27. Bonjour Vincent,
    Merci pour ton blog et ton aide à la communauté.
    J’utilise la version de Prestashop 1.6.1.12 et je suis malheureusement aussi touché par le problème d’enregistrement des produits : le bouton ne charge jamais.
    Après plusieurs recherches, je suis tombé sur ton article et j’ai remplacé les 9 fichiers de l’archive « Prestashop_fichiers_1.6.0.12_et_superieur ».
    Cependant, cela ne fonctionne pas de mon côté. 🙁
    Je vois qu’il y a un autre fix concernant le mod_evasive à intégrer, mais je ne vois pas dans quel fichier
    rajouter ce code :
    var time = 0;
    var mod_evasive = false;
    if (mod_evasive) {
    time = 1000;
    }
    ;
    J’ai essayé de le rajouter dans le fichier /js/jquery/jquery-1.11.0.min.js
    Car c’est ce que l’on voit sur les erreurs via la console développeur :
    index.php:5 Uncaught TypeError: $(…).typeahead is not a function
    at HTMLDocument.eval (eval at (jquery-1.11.0.min.js:2), :5:55)
    at j (jquery-1.11.0.min.js:2)
    at Object.add [as done] (jquery-1.11.0.min.js:2)
    at e.fn.init.n.fn.ready (jquery-1.11.0.min.js:2)
    at eval (eval at (jquery-1.11.0.min.js:2), :2:14)
    at eval ()
    at jquery-1.11.0.min.js:2
    at Function.globalEval (jquery-1.11.0.min.js:2)
    at e.fn.init.domManip (jquery-1.11.0.min.js:3)
    at e.fn.init.append (jquery-1.11.0.min.js:3)

    J’espère que vous pourrez m’aider.
    Merci bcp.

    Cordialement,

  28. Re bonjour Vincent,

    Je viens d’utiliser la méthode de remplacement des fichiers de l’archive : prestashop-product-tabs
    et cela a bien résolu le problème de chargement du bouton « Enregistrer ».

    Cependant, j’ai encore un autre souçis. Il m’est toujours impossible d’enregistrer un produit. En effet, rien ne se passe et j’ai remarqué que l’onglet « Associations » est vide.

    Voici les messages d’erreurs de la console qui ne semblent pas avoir changés bizarrement :
    Uncaught TypeError: $(…).typeahead is not a function
    at HTMLDocument.eval (eval at (jquery-1.11.0.min.js:2), :5:55)
    at j (jquery-1.11.0.min.js:2)
    at Object.add [as done] (jquery-1.11.0.min.js:2)
    at e.fn.init.n.fn.ready (jquery-1.11.0.min.js:2)
    at eval (eval at (jquery-1.11.0.min.js:2), :2:14)
    at eval ()
    at jquery-1.11.0.min.js:2
    at Function.globalEval (jquery-1.11.0.min.js:2)
    at e.fn.init.domManip (jquery-1.11.0.min.js:3)
    at e.fn.init.append (jquery-1.11.0.min.js:3)

    Merci

  29. J’ai la version 1.7 depuis 2 semaines, avec la création d’un nouveau site… et bien ce problème existe toujours bel et bien !!! Et comme je n’y connais rien, je n’ose toucher à rien par peur de tout planter.

    Avec mon autre site sur Presta (mais version 1.6), j’avais simplement voulu traduire des mails clients… je m’étais retrouvée avec la boutique à zéro, plus aucune fiche produit (tout effacé), la boutique revenue à l’origine, un mois de boulot perdu, j’en ai pleuré pendant des jours.

    Ah oui et je n’y connais rien, je suis novice, je comprends rien aux solutions données, au passage… C’est du latin total ! J’harcèle Prestashop pour qu’ils résolvent le problème. C’est mon gagne-pain, mon salaire, que je perds chaque jour qui passe…

  30. bonjour,

    voila depuis demain je rencontre un beugle sur mon site internet. mon site est sous prestashop 1.6.1.10 et depuis hier après midi, lenteur dans le chargement des pages et lorsque les clientes clic sur payer , un message d’erreur s’affiche, error occured veuillez contactez le marchand, PayPal, response : ->. je ne sais plus quoi faire, j’ai contactez PayPal qui ne connaisse pas ce message d’erreur et pense que cela ne vient pas de chez eux. merci de votre aide, car depuis hier mes clientes ne peuvent plus commander, c’est la panique

  31. bonjour,

    voila depuis hier je rencontre un beugle sur mon site internet. mon site est sous prestashop 1.6.1.10 et depuis hier après midi, lenteur dans le chargement des pages et lorsque les clientes clic sur payer , un message d’erreur s’affiche, error occured veuillez contactez le marchand, PayPal, response : ->. je ne sais plus quoi faire, j’ai contactez PayPal qui ne connaisse pas ce message d’erreur et pense que cela ne vient pas de chez eux. merci de votre aide, car depuis hier mes clientes ne peuvent plus commander, c’est la panique

      1. Bonjour,

        Je rencontre actuellement un problème également.
        Lorsque je vais sur ma page produit, les boutons enregistrer mouline sans s’arreter..
        De plus, mes images de produits sur le site ont été remplacées par des points d’interrogation.

  32. Le problème persiste avec la version 1.6.13

    j’ai pu introduire un produit jusqu’à l’onglet prix… puis les deux boutons « enregistrer » et Enregistrer et rester » tournent sans cesse…

    J’ai désactivé les modules non PS…

    Et la console m’indique:
    TypeError: $(…).filter(…).attr(…) is undefined[En savoir plus] products.js:177:21
    ProductTabsManager/this.displayBulk/< https://www.jura-sushis.ch/js/admin/products.js:177:21
    j https://www.jura-sushis.ch/js/jquery/jquery-1.11.0.min.js:2:27131
    fireWith https://www.jura-sushis.ch/js/jquery/jquery-1.11.0.min.js:2:27949
    x https://www.jura-sushis.ch/js/jquery/jquery-1.11.0.min.js:4:22370
    b

    Je n'y comprends plus rien!

    Merci si vous avez une idée…

  33. Bonjour a tous,

    merci beaucoup Vincent pour tes conseils afin de résoudre ce bug qui touche mon site depuis hier également … J’utilise Prastashop 1.7 et je suis vraiment novice … Jusqu’à maintenant je n’avais aucun soucis pour mettre a jour mes fiches produits mais depuis hier dès que j’enregistre mes modifications il est bien écrit en vert « réglages mis a jours » en revanche lorsque je veux vérifier sur mon front office rien n’apparait … J’ai testé avec tous les navigateurs rien n’y fait … Je dois avouer que je ne comprends pas trop la solution proposée et n’étant pas une experte je ne préfère pas faire de tels changements seule … Merci par avance pour vos conseils !!
    Solène

  34. je tombe sur ce post et me permet également de présenter mon cas:
    prestashop 1.7.1.1
    Informations du serveur : Linux #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64
    Version du logiciel serveur : Apache
    Version de PHP : 7.0.8-0ubuntu0.16.04.3
    Limite de mémoire : 128M
    Temps maximal d’exécution : 120
    Taille max. pour envoi de fichiers : 32M
    Version de MySQL : 10.0.28-MariaDB-0ubuntu0.16.04.1

    je trouve les mêmes soucis d’enregistrement surtout sur le résumé et la description, j’ai tenté avec plusieurs navigateurs . c’est sans succes.
    ce qui est très étrange c’est que c’est assez aléatoire, j’ai créé plusieurs produits cela a bien fonctionné, et maintenant c’est quasiment systématique, j’enregistre, prestashop me signale que la modification est enregistrée et en fait rien ne bouge côté front même en désactivant les caches.
    je suis assez perplexe, et me demande si il n’y a pas quelque chose du côté de l’éditeur de texte et le paramétrage du serveur ??
    si vous avez des pistes ou des reours d’expérience sur la 1.7 ?
    je suis preneur.
    Merci

  35. Bonjour je viens de faire une MaJ vers PS 1.6.1.14 et le bug vient de survenir.

    Par contre j’ai un message différent dans la console

    VM754:9 Uncaught TypeError: Cannot read property ‘add’ of undefined
    at B.setup (eval at (jquery-1.11.0.min.js:2), :9:15)
    at B.execCallback (eval at (jquery-1.11.0.min.js:2), :2:233329)
    at B (eval at (jquery-1.11.0.min.js:2), :2:223103)
    at Array.eval (eval at (jquery-1.11.0.min.js:2), :2:245921)
    at u (eval at (jquery-1.11.0.min.js:2), :2:34223)
    at a (eval at (jquery-1.11.0.min.js:2), :2:245880)
    at u.t.bind (eval at (jquery-1.11.0.min.js:2), :2:3957)
    at w.bind (eval at (jquery-1.11.0.min.js:2), :2:63438)
    at Object.init (eval at (jquery-1.11.0.min.js:2), :2:246678)
    at tinySetup (tinymce.inc.js:52)

    Surprenant première fois que j’ai ça.

  36. Bonjour,

    Je rencontre ce problème d’enregistrement qui ne se fait pas sur mes fiches produit (version 1.6.1.15)., surtout lorsqu’il s’agit de la partie « Tag » et « association ».
    J’ai bien téléchargé le fichier : prestashop-fichiers-1_6_0_12-et-superieur dans FileZilla, et intégré celui ci dans le fichier Admin sur FilZilla.
    (Par contre il ne semble pas avoir eu de remplacement de fichiers déjà présents mais bel et bien une intégration de + de 9 fichiers).

    Au final, rien n’a changé, je ne peux toujours pas enregistrer mes fiches produits correctement.
    Serait-il possible de m’aider, sachant que je ne suis pas une pro de FileZilla et de rajout de morceaux de code dans des fichiers…..

    Merci pour votre aide !

  37. Bonjour,

    je suis sur la version 1.7.1.0 et le problème aléatoire d’enregistrement des produits est toujours là (même si réglages à jour en vert)
    un correctif de fichier est-il disponible ???

  38. Hello,
    J’ai ce fameux bug des boutons « enregistrer » et « enregistrer et rester » alors que je suis en version presta 1.6.1.13 ….
    Ces patchs sont ils appliquables à ma version?
    Merci d’avance

  39. Bonjour à tous,
    J’ai une version prestashop 1.6.1.4 qui est touché par ce problème d’enregistrement d’article.
    Le deuxième problème est que j’ai confié la gestion du site à un webmaster qui me dit qu’il ne peut rien faire sur ce beug, je n’y connais rien, je n’ai aucun accès pratiquement, à part entrer mes articles.
    Help, Help, Help!!!!! Qu’est ce que je peux faire???? C’est devenu prise de tête pour enregistrer un article, franchement tout ce que j’ai pu lire plus haut est du chinois, je suis désarmé face à ce problème.

  40. salut j’ai bien suivit votre methodologie pour le remplacement des fichiers mais rien à changer

    j’utilise prestashop 1.6.1.6 je suis passer sur la 1.6.1.7 mais toujours rien
    j’ai ce message dans la console développeur

    Uncaught TypeError: Cannot read property ‘replace’ of undefined
    at Object. (products.js:177)
    at j (jquery-1.11.0.min.js:2)
    at Object.fireWith (jquery-1.11.0.min.js:2)
    at x (jquery-1.11.0.min.js:4)
    at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
    /lab/admin912ivkltp/index.php?controller=AdminProducts&token=b2be1ff8d887e9b3e09b9b76760fbabc&id_product=0&action=Associations&updateproduct&ajax=1&rand=1509728912030&_=1509728910815 Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Laisser un commentaire

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