Não tenho certeza do que é esse erro e se está afetando algo, no entanto, isso está chegando ao meu console:
layout.js:64 Uncaught TypeError: Constr is not a constructor (layout.js line 64)
magento2
layout
javascript
PHPDev76
fonte
fonte
Respostas:
Para quem também pode encontrar esse problema: Eu tive o mesmo problema com meus componentes JavaScript personalizados. Acabou que um pequeno erro de digitação nos meus arquivos JS estava causando o problema. Em vez de
define()
usarrequire()
por cima. Então, para encerrar tudo, aqui está um exemplo de um componente JavaScript personalizado:fonte
Este é um erro no JS do validador de contrato. (
vendor/magento/js/module-checkout-agreements/view/frontend/web/js/view/agreement-validation.js
)Aqui você vê:
//return Component.extend({});
Isso não deve ser comentado, pois quebra o segundo parâmetro da função de fogo do jquery. Porém, não tenho certeza se isso quebra alguma coisa, mas o resultado é esse erro e, em alguns casos, quando os termos e contratos são definidos manualmente, o botão de pedido não funciona.Até que isso seja corrigido pelo Magento, você poderá criar uma substituição para esse JS na sua própria pasta de temas. Para fazer isso, adicione o seguinte arquivo:
app/design/frontend/<ThemeNameSpace>/<Theme>/Magento_CheckoutAgreements/web/js/view/agreement-validation.js
e cole o conteúdovendor/magento/js/module-checkout-agreements/view/frontend/web/js/view/agreement-validation.js
nele. Remova o comentário da devolução e reimplante o conteúdo estático.fonte
Eu enfrentei o mesmo problema. A causa do problema declarei o mesmo local do arquivo js, que já é usado no arquivo Core.
Por exemplo, tentei reestruturar os blocos de totais de resumo de pedidos usando meu arquivo js personalizado, como
Mas no mesmo local já existe um totals.js em magento-checkout / frontend / web / js / summary / totals.js.
Renomeei o nome do arquivo como
Agora não tenho erros !! e o total de totais do meu pedido foi substituído.
fonte
Para mim, eu estava usando um Magento Js Mixin e exigi que o modelo fosse ajustado de maneira ligeiramente diferente, conforme descrito nos documentos do Magento aqui: https://devdocs.magento.com/guides/v2.3/javascript-dev-guide/javascript/js_mixins .html
fonte