Agregue JavaScript a varias URL específicas

8

Estoy tratando de agregar algunos javascript a mi archivo template.php en un sitio Drupal 7. Me gustaría que el javascript se cargue en un conjunto específico de páginas, en función de la URL. Por ejemplo, me gustaría cargar el script:

mysite.com/blog/page1

mysite.com/blog/page2

pero no en:

mysite.com

o mysite.com/blog

o mysite.com/about

Estoy usando

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 cargar el script en esa página específica, pero ¿hay alguna forma de usar un argumento de url o comodín o algo así para que todas las páginas internas del blog (es decir, blog / page1, blog / page2, blog / page3) carguen el script?

¡Gracias!

zgreen
fuente

Respuestas:

7

La drupal_match_path()función debería hacer el truco:

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

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