Drupal: URL Alias als CSS Klasse
In Drupal eine CSS-Klasse an den Body abhängig vom Alias-Pfad hängen
Wer kennt das nicht? Man braucht auf einer ganz bestimmten Node ein ganz besonderes Styling. Und weil alle so geil auf Semantik sind, muss man eine CSS-Klasse an den Body hängen, die genau so heißt, wie der Alias-Pfad der Node.
Die Klasse klatscht man am besten über die template_preprocess_html() an den <body> ran. In dem folgenden, speziellen Fall guckt man zuerst, ob das 2. Argument des Alias-Pfads einem bestimmten String gleicht und hängt diesen dann an das Klassen-Array der $variables an. Ganz besonders schön ist hier auch zu sehen, wie man Drupals arg()-Funktion mit dem Alias-Pfad nutzt.
function MYTHEME_preprocess_html(&$vars) {
if (arg(2, drupal_get_path_alias()) == 'foo') {
$vars['classes_array'][] = drupal_clean_css_identifier(arg(2, drupal_get_path_alias()));
}
}