Jump to content

Perte des attributs de type couleur lors de multiples enregistrement de la perso sur la fiche produi


Recommended Posts

Bonjour,

Quelqu'un a t il remarqué que :

- Si on a des attributs de type couleur ou texture sur la fiche produit

- Si on met de la personnalisation sur le produit

 

Lorsque l'on enregistre deux fois la perso, on perd les couleurs/textures sélectionnées

Si on choisis plusieurs couleurs à la suite ... on les retrouve toutes dans l'url une fois la personnalisation sauvée?

 

C'est peut être du à du code que j'ai rajouté ... mais je n'y crois pas ...

Je pense avoir isolé le problème dans cette ligne

    // set ipa to the customization form
    $('#customizationForm').attr('action', $('#customizationForm').attr('action') + request);

de la méthode getProductAttribute() de product.js

 

et à lire ca:

- vu que la méthode getProductAttribute() n'est pas appelée au "onload" ca explique pourquoi au deuxième enregistrement on perd tout ...

- vu qu'on ajoute à chaque fois .. sur les onclick .. ca ajoute tout les clicks.

 

Bref après avoir passé la soirée à trouver ca et les deux semaines passées à débugger une par une toutes  les fonctionnalités de prestahop que je souhaite utiliser et ayant fait qq crises cardiaques en regardant le code ... je me demandais si qq a déja corrigé ca et aurait la bonne ligne à mettre ... parceque perso je sature de faire marcher le standard ligne par ligne ...

 

Ha oui, je me permets une remarque fonctionnelle ... super idée de faire un formulaire d'achat + un formulaire de perso en deux temps ... je crois que les utilisateurs vont trop comprendre comment ca marche ...

Voila, désolé pour le ton un peu négatif ... mais franchement quelle perte de temps ce produit!

Link to comment
Share on other sites

Bon allez comme je suis sympas voici comment on corrige .. je sais pas si ca marche dans tous les cas, mais en tout cas ca marche dans le mien et c'est déjà bien.

Dans product.tpl rajouter le champ caché si dessous sous la déf de la form

                <form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm" class="clearfix">
                    <input type="hidden" id="customizationFormInitAction" name="customizationFormInitAction" value="{$customizationFormTarget}" />

 

Dans getProductAttribute() de product.js remplacer

$('#customizationForm').attr('action', $('#customizationForm').attr('action') + request);

par

$('#customizationForm').attr('action', $('#customizationFormInitAction').val() + request);

 

et appeler getProductAttribute(); à l'initialisation de la page ...

Allez bug suivant ...

AB
 

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...