Comment ajouter des js externes dans Magento 2

11

Je veux ajouter le lien suivant dans la balise head, mais son erreur 404 de retour. Quelqu'un peut-il m'aider à ce sujet?

<script  type="text/javascript"  src="https://www.google.com/recaptcha/api.js"></script>
Sivakumar K
la source
Suivez simplement cet article. inchoo.net/magento-2/… Ces gars sont géniaux :)
Ashvini Marwal
j'ai besoin de la mise en page file.please observez son un lien et pas un fichier
Sivakumar K

Réponses:

26

Je recommanderais d'utiliser la méthode de script plutôt que la méthode de texte, c'est plus facile à comprendre pour les autres développeurs, c'est moins de code et répond aux instructions officielles de Magento.

Pour ce faire, utilisez le même script ou liez XML comme d'habitude mais incluez src_type="url". Comme indiqué dans les documents officiels

<?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>

Résultats

entrez la description de l'image ici

Ben Crook
la source
Je ne savais pas que vous pouviez spécifier un src_type sur la balise de script jusqu'à présent :)
Smartie
Comment ajouter un script avec un paramètre? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri
et ne pas accepter avec la balise script dans magento 2
Sunny Khatri
4

Si vous ajoutez ceci globalement, le plus simple est de le faire via la zone d'administration.

Accédez à Magasins> Configuration> Conception, puis dans l'onglet Tête HTML, vous pouvez ajouter divers scripts.

Vous pouvez cependant l'ajouter en utilisant xml. Par exemple, si vous souhaitez simplement l'ajouter à votre page d'accueil, placez ce qui suit dans le fichier de mise en page view / frontend / layout / cms_index_index.xml à l'intérieur de votre module personnalisé.

<?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>

En remarque, si vous pouvez éviter de mettre les js dans la tête, je le ferais car cela rendrait le blocage jusqu'à ce que les js aient été entièrement téléchargés.

Smartie
la source
je n'ai besoin que d'une seule page personnalisée.
Sivakumar K
Ce type d'informations est utile à connaître au début :) Je mettrai à jour mon message.
Smartie
La balise d'action a été dépréciée, veuillez consulter devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/… pour plus d'informations.
Ben Crook
Comment ajouter un script avec un paramètre? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri