Ajouter des javascripts externes


20

Est-il possible d'ajouter des javascripts externes directement dans le fichier .info d'un thème?
par exemple scripts [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js


Cherchez-vous simplement à ajouter la version CDN de jQuery Tools à votre thème, ou demandez-vous explicitement si cela peut être fait à partir du fichier .info d'un thème?
— mpdonadio

Il s'agit explicitement d'ajouter du javascript externe au fichier .info
— JurgenR

Vous vouliez donc l'ajouter au fichier .info et vous avez accepté une réponse qui ne parle pas du tout du fichier .info et montre la méthode drupal_add_js?
— mpdonadio

Oui, si cela ne fonctionne pas dans le fichier info, je suis content de la meilleure solution possible.
— JurgenR

Réponses:


24

Dans le fichier template.php de votre thème, utilisez drupal_add_js () pour la méthode de prétraitement de la page (ou un prétraitement équivalent).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}

Je reçois une erreur javascript lors de l'utilisation de cette fonction, lorsque je mets le script à l'intérieur (footer) html.tpl.php, cela fonctionne.
— JurgenR

Quelle erreur? Drupal génère-t-il le balisage de script correct lorsque vous utilisez cette fonction si vous vérifiez le code source?
— drmonkeyninja

L'ajout du tableau d'options l'a corrigé. Je suppose que c'était un problème de poids. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', array ('type' => 'external', 'scope' => 'header', 'weight' => 10)) ; Thnx!
— JurgenR

@Jurgen drupal_add_js()accepte également une chaîne comme deuxième paramètre; dans ce cas, il est considéré comme l'index "type" utilisé à partir du $optionstableau. Si vous devez définir d'autres options, vous devez utiliser un tableau.
— kiamlaluno

@drmonkeyninja Comment ajouter JS dans n'importe quel module .. ??
— Nishant

2

La méthode d'ajout de javascript dépend de la raison pour laquelle vous ajoutez du javascript. Il existe différentes façons d'ajouter js.

  • En définissant dans le fichier theme.info.

  • L'ajout en ligne.

  • Ajout d'un fichier js externe.

Vous pouvez ajouter un fichier info js avec cette simple ligne de code

scripts[] = js/myscript.js

Ou vous pouvez utiliser la fonction php fournie par drupal drupal_add_js

Cette fonction vous permet d'ajouter facilement un fichier JavaScript ou aide à définir un code en ligne sur n'importe quelle page de votre thème et prend 5 paramètres ( vous le voyez dans la référence de l'API ).

Il y a un article détaillé à ce sujet ici.


2
vous ne pouvez pas définir un JS externe dans un fichier d'informations, apparemment drupal.stackexchange.com/a/196874/12010
— batigolix
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.