Добавить JavaScript к нескольким конкретным URL

8

Я пытаюсь добавить JavaScript в мой файл template.php на сайте Drupal 7. Я хотел бы, чтобы JavaScript загружался на определенном наборе страниц, основываясь на URL. Например, я бы хотел, чтобы скрипт загружался:

mysite.com/blog/page1

mysite.com/blog/page2

но не на:

mysite.com

или mysite.com/blog

или mysite.com/about

я использую

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

загрузить скрипт на этой конкретной странице, но есть ли способ использовать аргумент url или подстановочный знак или что-то такое, чтобы все внутренние страницы блога (т. е. blog / page1, blog / page2, blog / page3) загружали скрипт?

Спасибо!

zgreen
источник

Ответы:

7

drupal_match_path()Функция должна сделать трюк:

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

if (drupal_match_path($path, $pattern)) {
  drupal_add_js($theme_path . '/js/example.js');
}
Клайв
источник