Question

Après avoir mis à jour plusieurs correctifs sur l'environnement Magento, j'ai rencontré un bug que je n'arrive pas à résoudre.Lorsque je me connecte à mon compte et passe une commande, tout fonctionne bien.Maintenant, je reçois une erreur sur la page d'enregistrement d'un compte :

Cannot save the customer.

Je ne trouve pas d'où vient le problème et je cherche le bug ici depuis un moment, sans solution.Qu'est-ce qui ne va pas et où est-ce qu'il y a un bug ?L'erreur que j'obtiens lors de la configuration d'un message après le code PHP est :

Cannot save the customer.Invalid method Mage_Customer_Model_Customer::cleanPasswordsValidationData(Array ( ) )

Qu'est-ce que cela signifie et où est-ce que je fais une erreur ?

Était-ce utile?

La solution

Le cleanPasswordsValidationData() La méthode a été introduite dans Magento 1.9.1.0 et donc, sur votre installation (Magento 1.9.0.1), cette méthode est introuvable.

La plupart du temps, le problème est dû à des modules personnalisés interagissant avec l'enregistrement/la connexion du client (comme la connexion/l'enregistrement AJAX ou le paiement en une étape) où le code de l'extension utilise cette fonction sans vérifier au préalable la version de Magento.

Ma recommandation est de rechercher des appels à cette fonction cleanPasswordsValidationData() dans le code de votre site Web et recherchez l’extension à l’origine du problème.

Une fois que vous avez trouvé la ligne à l'origine du problème, vous pouvez ajouter la condition suivante pour éviter le problème :

if (version_compare(Mage::getVersion(),"1.9.1.0",">="))
{
    // Only from 1.9.1.0
    $customer->cleanPasswordsValidationData();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top