Ich möchte gerne die Rollen des aktuellen Users als Klassen in $body_classes bekommen
am 18.10.2011 - 15:33 Uhr in
Hallo zusammen,
also folgendes: es geht darum, dass einigen Rollen einfach bestimmte Teile der Seite ausgeblendet oder anders dargestellt werden sollen. Das ganze sind meist so kleine Änderungen, dass es das einfachste ist, das über ein bisschen CSS zu machen - ich will also nicht gleich für jede Rolle ein separates Template bauen.
Die Idee ist nun, das ganze über entsprechende Klassen im body-Tag zu erreichen. Mit $body_classes bekommt man ja schon einige Klassen zusammen, ich würde da nun gerne noch Klassen hineinbekommen, welche die Rollen des aktuellen Users wiedergeben - am besten mit der Rollen-Id, nicht mit der Bezeichnung wegen der Leerzeichen. Also eine Klasse in der Form "rolle2", wobei "2" die Id der Rolle ist. Ergebniss soll dann sein, dass neben den anderen Klassen im body-Tag "rolle2" als Klasse steht, wenn der User diese Rolle hat.
Kann mir jemand sagen, wie ich das in die template.php einbaue?
Viele Grüße,
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
preprocess_page
am 18.10.2011 - 15:44 Uhr
Hallo.
In der Implementierung Deines Themes von [api:template_preprocess_page:6] holst Du Dir mittels
<?php global $user; ?>
das aktuelle Benutzerobjekt und fügst dann die Rollen aus<?php $user->roles; ?>
der Variablen$vars['body_classes']
hinzu.