Ajouter du javascript à plusieurs URL spécifiques

8

J'essaie d'ajouter du javascript à mon fichier template.php sur un site Drupal 7. J'aimerais que le javascript se charge sur un ensemble spécifique de pages, en fonction de l'url. Par exemple, j'aimerais que le script se charge sur:

mysite.com/blog/page1

mysite.com/blog/page2

mais pas sur:

mysite.com

ou mysite.com/blog

ou mysite.com/about

j'utilise

function mytheme_preprocess_html(&$variables) {
  $theme_path = path_to_theme();
  $path = drupal_get_path_alias();
  if($path == 'blog/page1') {
      drupal_add_js($theme_path . '/js/example.js');
    }
}

pour charger le script sur cette page spécifique, mais existe-t-il un moyen d'utiliser un argument url ou un caractère générique ou quelque chose pour que toutes les pages de blog internes (c'est-à-dire blog / page1, blog / page2, blog / page3) chargent le script?

Merci!

zgreen
la source

Réponses:

7

La drupal_match_path()fonction devrait faire l'affaire:

$path = drupal_get_path_alias();
$pattern = 'blog/*';

if (drupal_match_path($path, $pattern)) {
  drupal_add_js($theme_path . '/js/example.js');
}
Clive
la source