Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Block für "authentifizierter Benutzer" ausblenden funktioniert nicht

Eingetragen von dbetschart (183)
am 22.09.2009 - 17:27 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Hallo

ich habe ein kleines Problem:

Auf meiner Seite verwende ich mehrere Rollen für Benutzer. Nun möchte ich einen Info-Block einrichten, der nur für die Rolle "authentifizierter Benutzer" sichtbar ist, für die anderen Rollen nicht.

Scheinbar haben jedoch in drupal standartmässig alle Benutzer mit einer besseren Rolle als "authentifizierter Benutzer" auch die Rolle des authentifizierten Benutzers (in den Benutzereinstellungen steht ja auch "Der Benutzer erhält alle Berechtigungen der Authentifizierter Benutzer-Rolle und alle der hier ausgewählten Rollen." wenn man einem Benutzer eine zusätzliche Rolle hinzufügen möchte).

Nun meine Frage: Kann ich im Block (evtl. mit php code) irgendwie Einstellen, dass es nur den Usern, welche neben der Standart-Rolle "authentifizierter Benutzer" keine andere Rolle besitzen, den Block anzeigt?

mfg und danke für antworten

‹ SESSION wird überschrieben?! Performance und Rückwärtskompatibilitä ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja via [1], aber du kannst

Eingetragen von Tobias Bähr (4019)
am 22.09.2009 - 18:30 Uhr

Ja via [1], aber du kannst doch einfach die Rollen anhaken, die den Block sehen soll.

<?php
global $user; // User-Object beinhaltet vers. Informationen

if (count($user->roles) > 1) {
   return
TRUE;
}
?>

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke für deine rasche

Eingetragen von dbetschart (183)
am 22.09.2009 - 18:40 Uhr

danke für deine rasche Antwort!

Tobias Bähr schrieb

aber du kannst doch einfach die Rollen anhaken, die den Block sehen soll.

eben genau das ist ja leider mein problem: Wenn ich bei diesem Block einstelle, dass nur "authenticated user" den Block sehen können, erscheint diese Block auch bei usern mit der höheren Rolle "premium user"!
Wenn man sich ja auf einer Drupal-Seite registriert ist man automatisch ein "authenticated user". Danach kann man ja diesem "authenticated user" weitere Rollen zuteilen. Also hat doch somit ein Benutzer mit der zusätzlichen Rolle "premium user" auch immer noch zusätzlich den Status "authenticated user",er wäre als ein "authenticated user" mit der Rolle "premium user"?
Auf jeden Fall will es bei mir nicht klappen, dass nur "authenticated user", nicht aber "premium user", den speziellen Block sehen können..
Ist da bei mir was falsch oder in der Durpal-logik? :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du willst also den Block vor

Eingetragen von Tobias Bähr (4019)
am 22.09.2009 - 18:50 Uhr

Du willst also den Block vor Benutzern mit der Rolle xyz verbergen?

Und ja jeder angemelde Benutzer hat diese Standard-Rolle.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tobias Bähr schrieb Du

Eingetragen von dbetschart (183)
am 22.09.2009 - 20:21 Uhr
Tobias Bähr schrieb

Du willst also den Block vor Benutzern mit der Rolle xyz verbergen?

Das ist korrekt, genau das möchte ich erreichen. Wie könnte man das bewerkstelligen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Via PHP in der

Eingetragen von Tobias Bähr (4019)
am 22.09.2009 - 20:32 Uhr

Via PHP in der Sichtbarkeiteinstellung. $user->roles enthält alle zugewiesene Rollen.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielen dank, ich habe dies

Eingetragen von dbetschart (183)
am 22.09.2009 - 21:05 Uhr

vielen dank, ich habe dies nun auf meiner Testseite mit diesm PHP code so hinbekommen dass der Block nur für den authenticated user angezeigt wird. Dies wollte ich nun auf meiner regulären seite einrichten, jedoch hat es dort nicht geklappt! ich verwende das pixture Theme für drupal 5.20.. Im Log gab es keine Fehlermeldung.. an was könnte dies liegen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie gesagt diese Rolle hat

Eingetragen von Tobias Bähr (4019)
am 22.09.2009 - 21:12 Uhr

Wie gesagt diese Rolle hat jeder. Du musst überprüfen, ob eine bestimmte Rolle drin ist in $user->roles. Wenn ja, musst du FALSE zurückgeben. Damit der User mit der Zusatz-Rolle diesen Block nicht sehen. Oder so:

<?php
global $user; // User-Object beinhaltet vers. Informationen

if (count($user->roles) > 1) {
   return
FALSE;
}
?>

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank, mit

Eingetragen von dbetschart (183)
am 22.09.2009 - 22:16 Uhr

Vielen Dank, mit "False" hats nun geklappt!

EDIT: ok war ein wenig voreilig, mit "False" ist der Block nun dauerhaft ausgeblendet für alle user (auch authenticated user). Aber ich nehme an dass eben False dies bewirken soll.

"Du musst überprüfen, ob eine bestimmte Rolle drin ist in $user->roles"

was meinst du genau damit? Wie kann ich nun mit deinem PHP-Code-Sample es einrichten, dass "Authenticated user" den Block sehen, nicht jedoch "Authenticated user" mit der Rolle "Premium User"?
danke!

EDIT 2: Nun hats definitv geklappt :-)
musst folgenden PHP Code eingeben:

<?php
global $user; // User-Object beinhaltet vers. Informationen

if (count($user->roles) < 2) {
   return
TRUE;
}
?>

Danke nochmals!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 25 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association