Eu sei como usar require-config.js
no tema personalizado, mas gostaria de usar o arquivo javascript personalizado ( myfile.js
) em todas as páginas. Em qual diretório devo adicionar require-config.js
e como usá-lo, para que ele funcione como deveria?
Por favor, não faça referência à página oficial do Magento.
magento2
javascript
requirejs
Anitr
fonte
fonte
Respostas:
requirejs-config.js
usa para criar o mapeamento de recursos JavaScript . Podemos encontrar todos exigem configurações em:pub/static/_requirejs
.Até onde eu sei, a maneira correta de carregar nosso script personalizado via Require Js: using template para chamar nosso script . Criaremos um novo modelo com
Magento\Framework\View\Element\Template
sua classe de bloco.Se queremos carregar arquivos js em todas as páginas e não queremos criar um novo módulo, nosso bloco deve se referir a
before.body.end
ouafter.body.start container
nodefault.xml
módulo Magento Theme.app / design / front-end / fornecedor / tema / tema-magento / layout / default.xml
app / design / front-end / fornecedor / tema / requirejs-config.js
app / design / frontend / fornecedor / tema / tema_ Magento / web / js / costumescript.js
Nosso modelo chamará nosso script: app / design / frontend / Vendor / Theme / Magento_Theme / templates / custom_js.phtml
Limpe o Magento Cache e execute a implantação de conteúdo estático:
php bin/magento setup:static-content:deploy
fonte
\app\design\frontend\Enim\blank\Magento_CatalogWidget\templates\product\widget\content\grid.phtml
, mas tenho requirejs-config.js e script na pasta Theme (app / design / frontend / Vendor / Theme / requirejs-config.js). Tudo bem? O problema é que eu chamo meu script de vários lugares diferentes.templates\product\widget\content\grid.phtml
é chamado.custom_js.phtml
é tratada como um retorno de chamada regular, realizado após a execução do código contidocustomscript.js
? Ou precisaria executar o código declaradocustomscript.js
de dentro da função incustom_js.phtml
?after.body.start
deve ser alterado parabefore.body.end
?Arquivo Requirejs-config: app / code / Vendor / Module / view / frontend / requirejs-config.js
Seu arquivo js deve estar em: app / code / Vendor / Module / view / frontend / web / js / myfile.js
Agora você pode usar em qualquer lugar do seu arquivo de modelo pelo método abaixo:
fonte
Existe uma versão mais fácil usando
deps
. Dependências no requirejs-config.js carregarão seu arquivo ao carregar o requirejs em si (em qualquer lugar da loja). Aqui está um exemplo de como o seu requirejs-config.js deve ficar:fonte
Como uma abordagem alternativa à recomendação do Khoa, que é uma excelente prática para desenvolvedores do Magento, você pode colar seu JavaScript em um arquivo .phtml como este:
Em seguida, vincule seu arquivo phtml a partir do default.xml, conforme descrito na resposta do Khoa, embora eu recomendo adicioná-lo ao before.body.end. E, em seguida, chame seu script JS de dentro de copyright.phtml , assim:
O copyright.phtml é carregado em todas as páginas, mesmo em páginas como checkout, onde o rodapé é omitido.
fonte