Einzelne Profilfeldern nur anzeigen, wenn Mitglied ...

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
superminis
Beiträge: 119
Registriert: 30. Jun 2008, 20:05
Wohnort: Baden
Kontaktdaten:

Einzelne Profilfeldern nur anzeigen, wenn Mitglied ...

Beitrag von superminis »

... bestimmter Rolle angehört

Ich habe mir eine Rolle "FTP" angelegt. Ich habe eine Profilfeldkategorie "FTP" in der die Felder für "Host", "Benutzername" uws. gespeicher sind. Die Felder sollen nur vom Admin gefüllt werden. Um das zu erreichen habe ich "Feld nur für berechtigte Benutzer sichtbar" ausgewählt. Ich möchte aber dass nur Benutzer die der Rolle "FTP" angehören überhaupt die Kategorie "FTP" mit den Feldern sehen können. Ich fülle ja die FTP-Daten eh nur bei den Benutzern aus, denen ich einen FTP-Account angelegt habe. Bei allen anderen soll die Kategorie aber gar nicht aufscheinen. Außerdem ist es unnötig, wenn der Benutzer beim Profil bearbeiten diese Felder sieht - das Bearbeiten ist ihm gesperrt.

Kann ich es irgendwie einstellen, dass das Anzeigen der Kategorie abhängig von einer Rolle ist, und die Felder in der Profilbearbeitung für nicht Bearbeit-berechtigte Benutzer ganz ausblenden?
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hi auch,

für diese Verkettung gibt es keine Einstellungsmöglichkeit. Du müsstest da selbst Hand anlegen. In der Datei admidio\adm_program\modules\profile\profile.php läuft ab der Zeile 477 das Auslesen der zusätzlichen Profilfelder. Wenn Du am Anfang dieser Schleife jetzt auf die Rolle "FTP" abfragst, könntest Du die (Nicht-)Anzeige realisieren.

Dafür bietet sich diese Admidiofunktion an: hasRole("ROLLENNAME", "USERID")

Das Ergebnis kannst Du per if-Abfrage verwenden...

Das ist nur ein Denckanstoss. Ich tippe mal, dass für Deine Zwecke noch an weiteren Stellen eine Bearbeitung notwendig ist.

Gruss,
Matze
Antworten