Adicione javascript a vários URLs específicos

8

Estou tentando adicionar algum javascript ao meu arquivo template.php em um site Drupal 7. Gostaria que o javascript fosse carregado em um conjunto específico de páginas, com base no URL. Por exemplo, eu gostaria que o script fosse carregado:

mysite.com/blog/page1

mysite.com/blog/page2

mas não em:

mysite.com

ou mysite.com/blog

ou mysite.com/about

estou a usar

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

para carregar o script nessa página específica, mas existe alguma maneira de usar um argumento de URL ou curinga ou algo assim para que todas as páginas internas do blog (por exemplo, blog / página1, blog / página2, blog / página3) carreguem o script?

Obrigado!

zgreen
fonte

Respostas:

7

A drupal_match_path()função deve executar o truque:

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

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