Eu tenho tentado terminar algo e publicá-lo on-line este fim de semana inteiro, é um pouco quebrado e eu não tenho idéia do porquê, então espero que alguém possa me ajudar.
Tentei adicionar jQuery personalizado ao meu tema personalizado, com êxito, pois o jQuery foi carregado e a função estava funcionando. Contudo! Não estava funcionando corretamente. Por exemplo, o Safari não carregava o jQuery e eu continuava recebendo esses erros no meu console:
defaultCaptcha.js: 29 TypeError não capturado: Não é possível ler a propriedade 'captcha' de undefined authentication-popup.js: 26 TypeError não capturado: Não é possível ler a propriedade 'preenchimento automático' de undefined (função anônima)
Eu pensei que tinha algo a ver com a maneira como declarei meu jQuery, mas quando esse não parecia ser o caso, decidi remover todos os meus JS personalizados e ainda assim recebi esses erros. Algo parece estar quebrado mais adiante, eu acho.
Meu 'Tema' personalizado é apenas uma página de destino simples, com nada mais do que uma caixa de assinatura personalizada.
O que poderia causar esses erros?
Respostas:
Substitua no módulo do cliente no arquivo authentication-popup.js:
com:
Execução uma vez atualizada
Atualizar
O problema pode ser corrigido nas versões mais recentes: https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Customer/view/frontend/web/js/view/authentication-popup.js # L23
foi substituído por:
Esta atualização é informativa e não fornece a solução completa, pois as versões mais recentes do Magento 2 vêm com outras alterações.
Aqui está o commit que mudou para isso: https://github.com/magento/magento2/commit/362f62f3c9b6c2994070615d82efbdf19f15fe50
fonte
Após a substituição dos arquivos do núcleo, você deve limpar o cache de arquivos estáticos (mesmo que todos os caches estejam desativados no modo padrão) para ver o efeito. Nunca edite arquivos pub / static / frontend porque são arquivos gerados.
fonte
Parece que o erro está sendo causado pela referência ao preenchimento automático e o captcha não existe quando deveria. Fazendo o que obscuro removeu o erro do preenchimento automático. Eu tive que editar o arquivo captcha padrão em ... / pub / static / frontend / Magento / luma / pt_BR / Magento_Captcha / js / view / checkout / defaultCaptcha.js
para retornar null se a configuração à qual ele tenta se referir não existir. No entanto, isso remove apenas o erro, mas a página de check-out ainda está em branco.
Eu suspeito que isso possa ter a ver com o tema não voltar a cair adequadamente.
fonte