Développeur front-office, Drupal themeur en Auvergne
+ Todo list

Récupérer le chemin d'un theme Drupal en javascript

5

Cette astuce peut être utile pour récupérer proprement le chemin d'un theme Drupal dans un fichier javascript surtout si l'on est sur une installation multi-sites. Il s'agit de passer une variable php et de la récupérer en javascript.

Dans le fichier template.php, on utilise la fonction drupal_add_js()

<?php
drupal_add_js
('jQuery.extend(Drupal.settings, { "pathToTheme": "' . path_to_theme() . '" });', 'inline');
?>



Puis dans le fichier .info on déclare un fichier js
scripts[] = js/scripts.js



Dans le fichier scripts.js on procède ainsi
$(document).ready(function(){
  var chemindutheme = "/"+Drupal.settings.pathToTheme+"/";
  console.log(chemindutheme);
});

Et dans la console de Firebug on obtient quelque chose comme /sites/www.monsiteweb.com/themes/nomdemontheme/

Quel intérêt ?
Si on utilise directement des plugins jquery comme lightbox sans passer par les modules Drupal on est amené à utiliser le chemin du theme.

$(document).ready(function(){
  var chemin = "/"+Drupal.settings.pathToTheme+"/";
  // Effet lightbox sur les images
  $("a.lightbox").lightBox({
    imageBlank: chemin+'css/images/lightbox/lightbox-blank.gif',
    imageLoading: chemin+'css/images/lightbox/lightbox-ico-loading.gif',
    imageBtnClose: chemin+'css/images/lightbox/lightbox-btn-close.gif',
    imageBtnPrev: chemin+'css/images/lightbox/lightbox-btn-prev.gif',
    imageBtnNext: chemin+'css/images/lightbox/lightbox-btn-next.gif'
  });
});


Rappel en php avec Drupal :
<?php print $base_path . path_to_theme(); // chemin du theme  ?>
<?php print $base_path.file_directory_path(); // chemin vers "files" ?>

Plus d'infos http://www.innovatingtomorrow.net/2008/06/02/jquery-and-drupal

leading program

earth land release times

radiative less emitted growing fuel

news compared slowly heat

engine carbon

inside functionality melting

variation jaiku data below

uncertainty 20th cap

back affected

science agriculture records slowly

north confirmation address

million relation range email

link northern

range sources iii

until per

2007 causes pnas

decadal capita

rate stratosphere working

contribution maximum broader seasonal report

live affected features temperatures