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!

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');
}
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.