J'ai essayé de terminer quelque chose et de le publier en ligne tout le week-end, c'est un peu cassé et je ne sais pas pourquoi donc j'espère que quelqu'un pourra m'aider.
J'ai essayé d'ajouter jQuery personnalisé dans mon thème personnalisé, avec succès car jQuery a été chargé et la fonction fonctionnait. Pourtant! Cela ne fonctionnait pas correctement. Par exemple, Safari ne chargerait pas le jQuery et j'ai continué à obtenir ces erreurs dans ma console:
defaultCaptcha.js: 29 UnCaught TypeError: Impossible de lire la propriété 'captcha' de l'authentification-popup.js non définie: 26 Uncaught TypeError: Impossible de lire la propriété 'autocomplete' d'undefined (fonction anonyme)
Je pensais que cela avait quelque chose à voir avec la façon dont j'ai déclaré mon jQuery, mais quand cela ne semblait pas être le cas, j'ai décidé de supprimer tous mes JS personnalisés, et j'ai quand même eu ces erreurs. Quelque chose semble être encore plus cassé, je suppose.
Mon «thème» personnalisé n'est qu'une simple page de destination avec rien de plus que ma boîte d'abonnement personnalisée.
Qu'est-ce qui pourrait provoquer ces erreurs ??
Réponses:
Remplacez dans le module client dans le fichier authentication-popup.js:
avec:
Une fois la mise à jour exécutée
Mise à jour
Le problème peut être résolu dans les versions plus récentes: https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Customer/view/frontend/web/js/view/authentication-popup.js # L23
a été remplacé par:
Cette mise à jour est informative et ne fournit pas la solution complète car les nouvelles versions de Magento 2 sont livrées avec d'autres modifications.
Voici le commit qui a changé en ceci: https://github.com/magento/magento2/commit/362f62f3c9b6c2994070615d82efbdf19f15fe50
la source
Après les fichiers de remplacement du noyau, vous devez nettoyer le cache des fichiers statiques (même si tous les caches sont désactivés pour le mode par défaut) afin de voir l'effet. Ne modifiez jamais les fichiers pub / statiques / frontaux car ce sont des fichiers générés.
la source
Il semble que l'erreur soit causée par la référence à la saisie semi-automatique et le captcha n'existe pas quand ils sont censés le faire. Faire ce qui est obscur a supprimé l'erreur de saisie semi-automatique. J'ai dû modifier le fichier captcha par défaut sur ... / pub / static / frontend / Magento / luma / en_US / Magento_Captcha / js / view / checkout / defaultCaptcha.js
pour retourner null si la configuration à laquelle il essaie de faire référence n'existe pas. Cependant, cela supprime uniquement l'erreur, mais la page de paiement est toujours vierge.
Je soupçonne que cela pourrait avoir à voir avec le thème qui ne retombe pas correctement.
la source