Menüpunkte in abhängigkeit von der Rolle anzeigen

am 01.12.2007 - 03:10 Uhr in
Hallo
Ich möchte in einem Menü für die Benutzer Rolle Ski zusätzliche Menüpunkte anzeigen.
Drupal bietet leider keine Möglichkeit Menüpunkte Rollenabhängig anzuzeigen. Um das Problem zu umgehen wollte ich jetzt zwei Menüs erstellen, einmal ohne die spezifischen Menüpunkte (Block ohne) und einmal mit allen Menüpunkten (Block mit, welche dann abhängig von der Rolle angezeigt werden. In der Blockkonfiguration kann man ja die Anzeige auf Rollenbasis definieren. Wenn ich hier den "Block ohne" auf anonymous und autenticated stelle und "Block mit" auf Ski habe ich das Problem das ein User der Rolle Ski ja zugleich auch ein authenticated User ist und damit beide Blöcke angezeigt bekommt.
Aber da gibt es ja noch den php-Code. Dort müsste eine Anfrage der art >>true außer wenn user x mitglied der rolle authenticated UND Ski (dann gib wrong) zurück<<
Versteht man das? Mein Problem ist halt dass ich mich nicht mit php und der Drupal Basis auskenne - sprich den entsprechenden php Code nicht selbst schreiben kann. Ich bitte um eure Hilfe.
- Anmelden oder Registrieren um Kommentare zu schreiben
Zitat: Drupal bietet leider
am 01.12.2007 - 03:18 Uhr
Drupal bietet leider keine Möglichkeit Menüpunkte Rollenabhängig anzuzeigen
Ich behaupte das Gegenteil.
Deine Variante mit 2 Bloecken, von denen einer nur Menues einer betimmten Rolle zeigt ist aber auch eine akzeptable Loesung. Falls Jemand schneller die Loesung fuer den PHP-Code des Rollenabhaengigen Block postet dann bitte. Ich sehe Morgen noch mal hier rein.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Ich behaupte das
am 01.12.2007 - 12:26 Uhr
Ich behaupte das Gegenteil
Dann bin ich wohl zu doof diese Möglichkeit zu finden. Aber etliche andere User auch die mit der Frage danach hier im Forum sitzen gelassen wurden. Von den Profis wurde immer nur der blockspezifische Weg erklärt...
Ich hab jetzt nochmal was zu dem php ding gefunden:
<?php
global $user;
if (in_array('DIE_ROLLE', $user->roles)) return TRUE;
?>
Wenn man das auf folgendes Umschreibt sollte es klappen, oder?
<?php
global $user;
if not (in_array('Ski', $user->roles)) return TRUE;
?>
Ist der Code so richtig? Vor allem das if not???
Wenn ichd en dann für den Block ohne aktivier, und den Block mit nur Usern der Rolle Ski anzeige habe ich ja eigentlich das was ich will...
Wenn mich nicht alles
am 01.12.2007 - 13:10 Uhr
Wenn mich nicht alles täuscht gibt es da doch ein kleines Modul: menu_per_role oder so ähnlich. Ich glaube, das macht genau das.
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
Facebook Gruppe Schweiz-CH: http://www.facebook.com/group.php?gid=5683015414
Es geht vielleicht mit Taxonomy Role
am 01.12.2007 - 16:37 Uhr
Es müsste wohl auch mit den Modulen taxonomie menu oder sitemenu in Verbindung mit Taxonomy Role gehen. Mit Taxonomy Role lässt sich einstellen, welche User-Rolle welche Terme deiner Taxonomie sieht, man müsste nur noch testen, ob sich das auch ins Menü überträgt (weiss ich noch nicht).
Zitat: Ist der Code so
am 01.12.2007 - 17:11 Uhr
Ist der Code so richtig? Vor allem das if not???
Mache besser ein if else Konstrukt daraus.
<?php
global $user;
if (in_array('Ski', $user->roles)) {
return FALSE;
} else {
return TRUE;
}
?>
Korrekt, das ist die Loesung fuer die Blockvariante.
PS
Mit zu doof hat das nichts zu tun.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Ich behaupte das
am 01.12.2007 - 17:15 Uhr
Ich behaupte das Gegenteil.
Wenn mich nicht alles täuscht gibt es da doch ein kleines Modul: menu_per_role oder so ähnlich. Ich glaube, das macht genau das.
This module allows you to restrict access to menu items per roles. It depends on the
drupal core menu.module - just activate both modules and edit a menu item as usual.
There will be a new fieldset that allows you to restrict access by role.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
wollt mich nochmal für eure
am 02.12.2007 - 13:29 Uhr
wollt mich nochmal für eure Hilfe bedanken. Hab mich letztlich aber für meinen ursprünglichen Weg entschieden. So muss ich jetzt zwar zwei Menüs pflegen, bei dem genannten Modul muss man allerdings am code direkt was verändern, sprich man müsste nach jedem update erneut danach schauen. Letztlich ist also beides mit Mehraufwand verbunden...