Fügen Sie Javascript zu mehreren spezifischen URLs hinzu


8

Ich versuche, meiner template.php-Datei auf einer Drupal 7-Site etwas Javascript hinzuzufügen. Ich möchte, dass das Javascript basierend auf der URL auf einen bestimmten Satz von Seiten geladen wird. Zum Beispiel möchte ich, dass das Skript geladen wird:

mysite.com/blog/page1

mysite.com/blog/page2

aber nicht auf:

mysite.com

oder mysite.com/blog

oder mysite.com/about

Ich benutze

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

Um das Skript auf dieser bestimmten Seite zu laden, gibt es jedoch eine Möglichkeit, ein URL-Argument oder einen Platzhalter oder etwas anderes zu verwenden, damit alle internen Blogseiten (z. B. Blog / Seite1, Blog / Seite2, Blog / Seite3) das Skript laden?

Vielen Dank!

Antworten:


7

Die drupal_match_path()Funktion sollte den Trick machen:

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

if (drupal_match_path($path, $pattern)) {
  drupal_add_js($theme_path . '/js/example.js');
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.