Como adicionar js externos no Magento 2

11

Quero adicionar o seguinte link na tag head, mas está retornando um erro 404. Alguém pode me ajudar nisso?

<script  type="text/javascript"  src="https://www.google.com/recaptcha/api.js"></script>
Sivakumar K
fonte
Basta seguir este artigo. inchoo.net/magento-2/… Esses caras são demais :)
Ashvini Marwal
eu preciso através de layout file.please observar a sua em um link e um não arquivo
Sivakumar K

Respostas:

26

Eu recomendo usar o método script em vez do texto, é mais fácil para outros desenvolvedores entenderem, é menos código e atende às instruções oficiais do Magento.

Para fazer isso, use o mesmo script ou link XML normalmente, mas inclua src_type="url". Conforme observado nos documentos oficiais

<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="https://www.google.com/recaptcha/api.js" src_type="url"/>
    </head>
</page>

Resultados

insira a descrição da imagem aqui

Ben Crook
fonte
Não sabia que você poderia especificar um src_type na tag script até agora :)
Smartie
Como adicionar script com o parâmetro? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri
E não aceitar com tag script em magento 2
Ensolarado Khatri
4

Se você estiver adicionando isso globalmente, a maneira mais fácil é fazer isso na área de administração.

Vá para Stores> Configuração> Design e, na guia HTML Head, você pode adicionar scripts diversos.

Você pode adicioná-lo usando xml. Por exemplo, se você apenas deseja que ele seja adicionado à sua página inicial, coloque o seguinte na visualização do arquivo de layout / frontend / layout / cms_index_index.xml dentro do seu módulo personalizado.

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="https://www.google.com/recaptcha/api.js" src_type="url"/>
    </head>
</page>

Como uma observação lateral, se você puder evitar colocar os js na cabeça, eu faria isso, pois isso renderizará o bloqueio até que o js seja totalmente baixado.

Smartie
fonte
Eu preciso apenas de uma página personalizada.
precisa
Esse tipo de informação é útil para saber no início :) Vou atualizar meu post.
Smartie
A tag de ação foi preterida , consulte devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/… para obter mais informações.
Ben Crook
Como adicionar script com o parâmetro? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri