2009-11-23 5 views
1

Existe-t-il une fonction ou une convention drupal pour inclure du JavaScript sur une page ou un formulaire? Ma solution actuelle consiste à coder en dur la balise de script dans le cadre de la sortie de la fonction de thème de mon formulaire, mais il semble qu'il devrait y avoir une meilleure façon, car JavaScript devrait généralement être la dernière chose chargée sur la page.Y compris javascript dans une page ou un formulaire drupal

Répondre

6

La fonction que vous cherchez s'appelle drupal_add_js(). Il vous permet de contrôler plusieurs aspects de l'ajout de js aux pages.

copié et collé à partir du lien fourni ci-dessus, ce sont les paramètres de la fonction:

données $ (en option) Si donné, la valeur dépend du paramètre de type $: * noyau ',' module 'ou' theme ': Chemin d'accès au fichier relatif à base_path(). * 'inline': le code JavaScript qui doit être placé dans la portée donnée. * 'setting': Un tableau avec des options de configuration comme tableau associatif. Le tableau est directement placé dans Drupal.settings. Vous souhaiterez peut-être envelopper vos paramètres de configuration réels dans une autre variable pour éviter la pollution de l'espace de noms Drupal.settings.

$ type (facultatif) Le type de code JavaScript qui doit être ajouté à la page. Les valeurs autorisées sont 'core', 'module', 'theme', 'inline' et 'setting'. Vous pouvez cependant spécifier n'importe quelle valeur. Il est traité comme une référence à un fichier JavaScript. Par défaut à 'module'.

$ scope (facultatif) L'emplacement dans lequel vous souhaitez placer le script. Les valeurs possibles sont 'header' et 'footer' par défaut. Si votre thème implémente différents emplacements, vous pouvez également les utiliser.

$ defer (facultatif) Si défini sur TRUE, l'attribut defer est défini sur l'étiquette. La valeur par défaut est FALSE. Ce paramètre n'est pas utilisé avec $ type == 'setting'.

$ cache (facultatif) Si ce paramètre est défini sur FALSE, le fichier JavaScript est à nouveau chargé à chaque appel de page, ce qui signifie qu'il n'est pas mis en cache. Par défaut à TRUE. Utilisé uniquement lorsque $ type fait référence à un fichier JavaScript.

Pré-traitement (facultatif) Ce fichier JS doit-il être agrégé si cette fonction a été activée dans la section Performances?

Espérons que cela aide!

Questions connexes