Drupal Jquery : Comment ajouter un paramètre à partir de PHP à votre script jQuery

On veut par exemple ajouter une clé API comme variable à notre script jQuery. Dans Drupal, on définit notre apikey à l'aide d'un formulaire de paramétrage. On ajoute un code Javascript utilisant drupal_add_js. Notez que le second paramètre dit «Setting», il est utilisé pour indiquer au système Drupal javascript pour ajouter le tableau en tant que paramètre dans les scripts. L'objet jQuery est déjà extensible avec Drupal.settings qui contient justement notre paramètre.
Pour éviter des conflits de namespaces, il est bon de mettre des variables dans des tableaux par module.

<?php
function module_name_settings() {
  
$form['module_name_apikey'] = array(
       
'#type'           => 'textfield',
       
'#title'          => t('Google api key'),
       
'#default_value'  => variable_get('module_name_apikey'''),
       
'#size'           => 60,
       
'#weight' => -5,
       
'#description'    => l(t('Get your google api key here'), 'http://code.google.com/apis/maps/signup.html'),
  );

  
system_settings_form($form);
}

//Implementation of hook init()
function module_name_init() {
  
drupal_add_js(
    array(
      
'module_name' => array(
        
'apikey' => variable_get('module_name_apikey'''),
      )
    ),
    
'setting'
  
);
}
?>

Dans votre script jquery, la variable sera disponible en Drupal.settings

var apikey = Drupal.settings.module_name.apikey;
//To view output in firebug
console.log(apikey);
//If you dont use firebug
alert(apikey);