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!

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');
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.