Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[gelöst] Benutzerrolle im Profil anzeigen

Eingetragen von Herr Lich (109)
am 08.08.2010 - 12:13 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo zusammen!

Irgendwie bin ich (noch) nicht fündig geworden. Ich suche eine Möglichkeit, anhand bestimmter Rollen (Standard, geprüftes Mitglied) dieses im Profil in der Form "Ist ein Standardmitglied" bzw "Ist ein geprüftes Mitglied" anzeigen zu lassen.

Daher meine Frage, wie ich an die Variable komme, welche mir die Rolle angibt, welche ein User hat.

Etwas konfus ausgedrückt.. ich weiß... merke ich gerade selber. Also nochmal:

Wenn User ein geprüftes Mitglied ist, dann zeige den Text "Ist ein geprüftes Mitglied" an. Ansonsten zeige "Ist ein Standardmitglied" an.

Ich verwende auch mittlerweile eine eigene user-profile.tpl.php Datei. Allerdings alles in der lokalen Testumgebung, um die laufende Seite nicht zu belasten mit Fehlversuchen.

Mir ist klar, daß die Lösung direkt vor meinen Augen liegt... nur wenn man die Ausgabe von Variablen und deren Aufbau (insbesondere Arrays) nicht kennt, sucht man sich echt blöde.

Vielen Dank schonmal für den entsprechenden Hinweis!

Gruß
Rainer

‹ Verlinkung Hauptmenü [gelöst] hook_form_alter und CCK Datumsfeld ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Rainer, Du kannst Dir

Eingetragen von kommune3 (345)
am 09.08.2010 - 12:35 Uhr

Hallo Rainer,

Du kannst Dir doch die Arrays mittels

<?php
print_r
($meinArray)
?>
ausgeben. Dann siehst Du welche Daten dort enthalten sind.

Dein problem könntest Du aber auch mit Views lösen: Eine Views erstellen, als Argument "Benutzer ID" auswählen, dort dann "Standardargumente zur Verfügung stellen" ebenfalls dort dann "Benutzer ID aus der URL" auswählen und dann den Filter auf Rolle setzen. Wenn Rolle = XY dann als Feld einen Text ausgeben. Dies dann Analog zu allen Rollen, die Du abfangen willst.

Die ganze View kannst Du dann als Block ausgeben und irgendwo in Deinem User-Profil anzeigen.

Beste Grüße,

Niko

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein guter Hinweis!

Eingetragen von Herr Lich (109)
am 09.08.2010 - 17:56 Uhr

Hallo Niko,

erst einmal vielen Dank für Deine Antwort. Als "immer noch Anfänger" habe ich natürlich auch noch die eine oder andere Frage auf dem Herzen. Diese Funktion print_r ($arraysowieso) müsste welches Array beinhalten? Es wird ja wohl kaum $meinArray sein.

Aber auch die Sache mit den Views... immer noch sehr geheimnisvoll. Insbesondere die Ausgabe als Block. Wie schaffe ich das, wenn ich eine eigene profile-template.tpl.php habe und auch generell ohne eigenes Template zum besseren Verständnis!? Diese Standardansicht der Profile ist ja mehr als grauenvoll und fördert Augenkrebs in höchstem Maße.

Wenn ich das so überdenke, mit dem eigenen Template, sollte doch auch kein View nötig sein. Müsste halte nur wissen, welches Array dafür zuständig ist. Ich glaube, hier schlägt die e107-Gewohnheit wieder durch, alles im Code selber unterzubringen.

Nebenbei muss ich aber sagen, daß es echt interessant ist, die vielen Möglichkeiten von Drupal zu erkunden und zu nutzen. Manche Wege sind auf den ersten Blick zwar etwas sonderbar... aber wenn man die Philosophie von Drupal beachtet, macht es ja durchaus wieder Sinn (Never change the Core).

  • Anmelden oder Registrieren um Kommentare zu schreiben

In der user-profile.tpl.php

Eingetragen von Exterior (2903)
am 09.08.2010 - 21:11 Uhr

In der user-profile.tpl.php hast du unter anderem Zugriff auf $account. Das ist ein Benutzer-Objekt wie $user. Allerdings enthält $user immer die Daten des handelnden Benutzers, während $account in diesem Fall die Daten des Benutzers enthält, dessen Profil betrachtet wird.

Ruft man also das Profil von Benutzer 123 auf, würde $account->uid den Wert '123' enthalten.

Und in diesem User-Object ist ein Array für alle Benutzerrollen untergebracht, die dieser Account inne hat. Darauf greift man über $account->roles zu.

Das Array ist so aufgebaut: $account->roles['Role-ID'] == 'Role-Bezeichnung'

Also enthält $account->roles['2'] den Wert "authenticated user" usw.

Damit kannst du also Problemlos die Rollen des Benutzers auslesen und diese in der user-profile.tpl.php ausgeben.

Gib in deine user-profile.tpl.php z.B. mal folgendes ein:

<?php
drupal_set_message
('<pre>' . print_r($account, 1) . '</pre>');
?>

Damit werden dir alle Werte im $account-Object angezeigt.

Oder noch besser (meiner Meinung nach):

Installiere dir das Modul Devel und dann gib folgendes in die user-profile.tpl.php ein:

<?php
krumo
($account);
?>

Damit bekommt man ein schön übersichtliches Fenster ausgegeben, welches man mit einem Klick öffnen und schließen kann. Man bekommt für jeden im Object enthaltenen Wert angezeigt, was für einen Typ es hat und wenn es sich um ein Array o.Ä. handelt, wieviele Werte darin enthalten sind. So steht z.B. "roles (Array, 4 elements)" dann weißt du, dass "roles" ein Array ist, dass man es also mit dem Index ansprechen muss usw. Sehr schön zu bedienen, meiner Meinung nach und sehr hilfreich, weil man sich damit jedes beliebige Array oder Object schön gegliedert ausgeben kann. Super Sache ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin begeistert!

Eingetragen von Herr Lich (109)
am 10.08.2010 - 17:16 Uhr

Also das nenne ich doch mal eine klasse Hilfestellung!

So bekomme ich doch exakt die Infos, welche ich benötige, um die Profile nach meinen/unseren Vorstellungen zu gestalten. Da werde ich doch gleich mal checken, was so alles machbar ist.

Gibt es nicht evtl auch eine Erweiterung für FireFox, womit man alles Mögliche je nach Auswahl (php Fehler, mysql querys usw) angezeigt bekommt? Wäre doch eine tolle Sache.

Jetzt geht es ans Eingemachte. Und vom Prinzip her fehlt mir jetzt noch eine Eingabemaske für ein... na nennen wir es mal "Neigungsbarometer". Einen Screenshot dessen hatte ich ja schon woanders eingestellt. Wenn ich das alles wieder in Kombination hinbekomme, ist ein Großteil geschafft.

Falls wer irgendwie Zeit und Lust hat, sich im Projekt einbringen zu wollen (rein technischer Natur), bin ich gerne ansprechbar!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Gibt es nicht evtl

Eingetragen von Exterior (2903)
am 10.08.2010 - 18:00 Uhr
Zitat:

Gibt es nicht evtl auch eine Erweiterung für FireFox, womit man alles Mögliche je nach Auswahl (php Fehler, mysql querys usw) angezeigt bekommt?

Also ich kenne nur Firebug, aber das sagt dir nichts über PHP, soweit ich weiß. Wüsste auch nicht so recht, wie das ginge. Denn der Server verarbeitet die PHP-Scripte und gibt dann HTML-Code zurück, ich wüsste nicht, wie Firebug da an PHP, Arrays etc. rankommen sollte.

Aber schau dich mal ein wenig bzgl. Devel (habe ich oben schon verlinkt) um, damit kannst du dir z.B. alle MySQL-Querys ausgeben lassen, die an der darzustellenden Seite beteiligt waren usw.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Exterior schrieb Zitat: Gibt

Eingetragen von Herr Lich (109)
am 10.08.2010 - 18:10 Uhr
Exterior schrieb
Zitat:

Gibt es nicht evtl auch eine Erweiterung für FireFox, womit man alles Mögliche je nach Auswahl (php Fehler, mysql querys usw) angezeigt bekommt?

Also ich kenne nur Firebug, aber das sagt dir nichts über PHP, soweit ich weiß. Wüsste auch nicht so recht, wie das ginge. Denn der Server verarbeitet die PHP-Scripte und gibt dann HTML-Code zurück, ich wüsste nicht, wie Firebug da an PHP, Arrays etc. rankommen sollte.

Aber schau dich mal ein wenig bzgl. Devel (habe ich oben schon verlinkt) um, damit kannst du dir z.B. alle MySQL-Querys ausgeben lassen, die an der darzustellenden Seite beteiligt waren usw.

Devel entspricht schon sehr genau dem e107Debugger, welcher sich in FireFox integrieren lässt. Also vom Prinzip her das Pendant dazu. Werde mich mal näher damit befassen, da es doch so manchen Irrläufer zu verhindern hilft. Sorry, wenn ich noch manchmal einen Vergleich ziehe. Es ist eben die Macht der Gewohnheit, die in einem steckt.

Bin schon mit der Anzeige einen guten Schritt weiter gekommen. Abgesehen vom Theming für das Profil (und auch die gesamte Seite), welches nochmal auf einem ganz anderen Blatt steht und hier nicht zur Diskussion steht.

  • 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 6 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 16 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 30 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