[gelöst]Benutzerrolle per php ermitteln
am 28.02.2012 - 13:02 Uhr in
Die Benutzerrolle herauszufinden ist zwar relativ einfach, wenn man die Informationen direkt im zugehörigen Userprofil benötigt, aber wie sieht es aus, wenn ich anhand einer UID die Rollen des Benutzers auslesen möchte? Also mal angenommen ich möchte bei einer Suchergebnissseite bei jedem Suchergebnis ermitteln wer der Autor ist und welche Rollen dieser alle hat. In der Datenbank habe ich dazu keine Informationen finden können. Mit $account->roles komme ich da nicht weit.
- Anmelden oder Registrieren um Kommentare zu schreiben

user_load
am 28.02.2012 - 13:07 Uhr
Hallo.
Wenn Du die uid hast, kannst Du auch das User-Objekt laden und kommst somit auch an die Liste der Rollen.
<?phpif ($account = user_load($uid)) {
$roles = $account->roles;
}
?>
Wenn Du die Rollen des aktuell angemeldeten Benutzers haben möchtest, kannst Du einfach die globale Variable
$userverwenden.Ok, tausend Dank! Danach habe
am 28.02.2012 - 14:10 Uhr
Ok, tausend Dank! Danach habe ich gesucht.
Habe ein wenig rumprobiert. Das hat funktioniert!
<?php
$nodeuid=$node->uid;
if ($account = user_load($nodeuid)) {
$roles = $account->roles;
if (in_array('Standardprofil', $roles))
{
print $node->field_a100[0]['view'];
}
elseif (in_array('Unternehmensprofil', $roles))
{
?>
<a href="http://www.nochnichtfertigx1.de/user/<?php print $nodeuid; ?>">
<?php
print $node->field_a100[0]['view'];?></a>
<?php
}
}
?>
Besten Dank!