He estado tratando de terminar algo y publicarlo en línea todo este fin de semana, está algo roto y no tengo idea de por qué, así que espero que alguien pueda ayudarme.
Intenté agregar jQuery personalizado a mi tema personalizado, con éxito ya que jQuery se cargó y la función funcionaba. ¡Sin embargo! No funcionaba correctamente. Por ejemplo, Safari no cargaba jQuery y seguía recibiendo estos errores en mi consola:
defaultCaptcha.js: 29 TypeError no capturado: no se puede leer la propiedad 'captcha' de autenticación indefinida-popup.js: 26 TypeError no capturado: no se puede leer la propiedad 'autocompletar' de undefined (función anónima)
Pensé que tenía algo que ver con la forma en que declaró mi jQuery, pero cuando ese no parecía ser el caso, decidí eliminar todo mi JS personalizado, y todavía recibí estos errores. Algo parece estar roto más arriba, supongo.
Mi 'Tema' personalizado es solo una simple página de destino con nada más que un cuadro de suscripción personalizado.
¿Qué podría causar estos errores?
Respuestas:
Reemplace en el módulo del cliente en el archivo autenticación-popup.js:
con:
Una vez actualizado ejecutar
Actualizar
El problema puede solucionarse en versiones más nuevas: https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Customer/view/frontend/web/js/view/authentication-popup.js # L23
fue reemplazado por:
Esta actualización es informativa y no proporciona la solución completa ya que las nuevas versiones de Magento 2 incluyen otros cambios.
Aquí está la confirmación que cambió a esto: https://github.com/magento/magento2/commit/362f62f3c9b6c2994070615d82efbdf19f15fe50
fuente
Después de anular los archivos del núcleo, debe limpiar el caché de archivos estáticos (incluso si todos los cachés están deshabilitados para el modo predeterminado) para ver el efecto. Nunca edite archivos pub / static / frontend porque son archivos generados.
fuente
Parece que el error es causado por la referencia a autocompletar y captcha no existe cuando se supone que debe hacerlo. Al hacer lo oscuro, se eliminó el error de autocompletar. Tuve que editar el archivo captcha predeterminado en ... / pub / static / frontend / Magento / luma / en_US / Magento_Captcha / js / view / checkout / defaultCaptcha.js
devolver nulo si la configuración a la que intenta hacer referencia no existe. Sin embargo, eso solo elimina el error, pero la página de pago aún está en blanco.
Sospecho que podría tener que ver con que el tema no retroceda correctamente.
fuente