En migrant la boutique d’un de nos clients sur la dernière version Prestashop 1.7.8.7, nous avons constaté qu’il n’était plus possible d’enregistrer le moindre produit utilisant les caractéristiques.
L’erreur rencontrée est la suivante :
« this value is not valid. »
Après de nombreuses recherches, il s’avère que Prestashop a perdu dans notre exemple l’id correspondante à la caractéristique « Fabrication ».
Un inspect du code reçu via Ajax permet de voir l’erreur :
Alors on s’intéresse aux données envoyées via Ajax à ce script.
Et l’on constate que la valeur pour le premier Id de feature est égal à zéro !
form[step1][features][0][feature]: 0
form[step1][features][0][value]: 2
form[step1][features][0][custom_value][1]:
Alors nous n’avons pas « fouillé » le code pour identifier le bug.
Et il s’avère que la liste déroulante « Caractéristique » était bien positionnée sur « Fabrication » mais avec un Id de valeur qui vaut zéro.
De notre côté, le fait de remettre cette première valeur a solutionné le bug. Et nous avons pu ré-enregistrer le produit.
Encore une bizarrerie sur cette nouvelle version Prestashop.
Pour le moment, pas plus bloquante que cela, en corrigeant ce produit, les autres ont tous été répercutés sans problème.