[GELÖST]Maschinennamen von einzelnen User-Rollen herausfinden
am 07.06.2014 - 08:04 Uhr in
Hallo,
ich möchte ein wenig mit PHP herumspielen brauch für mein Vorhaben aber die korrekten Maschinennamen einzelner Rollen.
Kann ich dir irgendwo herausfinden?
Vielen Dank
- Anmelden oder Registrieren um Kommentare zu schreiben

Moinsen, Die Namen der Rollen
am 07.06.2014 - 10:46 Uhr
Moinsen,
Die Namen der Rollen bleiben in der Regel genau so, wie du sie angelegt hast. (case sensitive). Jeder User, der angemeldet ist, hat immer die Rolle "authenticated user", egal, welche weitere Rollen er noch zugewiesen bekommt. Die Rollen speichert Drupal im Array "roles[]" des User Objekts.
Am besten, du installierst dir das Devel Modul, wenn du eigenen Code implementieren möchtest. Damit kommst du an die internen Strukturen. Im Grunde ist das Modul für Entwickler obligatorisch ;)
Bin leider nicht
am 07.06.2014 - 12:40 Uhr
Bin leider nicht Installationsbevollmächtigt.
Ich denke eigentlich auch, dass es anders gehen müsste.
Es handelt sich um diesen PHP-Schipsel
<?php
$alttext = '<div class="alttext">nicht admin</div>';
$alttext2 = '<div class="alttext">admin</div>';
global $user;
if (in_array('administrator', $user->roles)) {
$output = $alttext2;
print $output;
}
else {
$output = $alttext;
print $output;
}
?>
Bei den alternativtexten sollen dann zwei Links eingebettet werden. Für Admins futzt das problemlos, nur nicht für die Rolle, die ich eigentlich will
Hm, Groß- / Kleinschreibung
am 07.06.2014 - 14:06 Uhr
Hm, Groß- / Kleinschreibung hast du beachtet? Leerzeichen auch? Wenn ich eine Rolle Site manager habe, ist der Value im Array: String 'Site manager'
Was spuckt denn:
var_dump($user->roles);aus?
eieiei..peinlich du hattest
am 07.06.2014 - 14:26 Uhr
eieiei..peinlich
du hattest recht. Die Namen bleiben ja wirklich treu. Normalerweise kenn ich es so, dass zumindest einzelne Wörter mit Unterstrich getrennt werden. Nun denn. trotzdem danke und schöne pfingsten