Hallo Forum,
ich bräuchte mal eure Hilfe. Ich möchte für mich (bzw. die Administratoren) eine eigene und etwas abgeänderte memberlist.php, die die normalen Mitglieder aber nicht sehen können sollen. Ich möchte, dass dort einige Benutzerdefinierte Felder angezeigt werden und andere Daten wie Rang oder Registriert entfernt werden. Die Benutzerdefinierten Felder die angezeigt werden sollen sind für die Mitglieder des Forums nicht sichtbar. Außerdem könnte die Liste auch komplett angezeigt werden und nicht nur 50 Einträge pro Seite.
Habt ihr eine Idee, wie ich das umsetzen kann, oder wie ich wo was ändern muss?
viele grüße
ICE
[3.2] Zusätzliche Mitgliederliste mit Benutzerdefinierten Profilfelder
Re: [3.2] Zusätzliche Mitgliederliste mit Benutzerdefinierten Profilfelder
Hallo zusammen, ich weiß, es wäre besser ein plugin für sowas zu schreiben. Das kann ich aber nicht, da ich nicht weiß, wie das geht.
Stattdessen habe ich die vorhandene memberlist.php kopiert und umbenannt, um sie als Ausgangspunkt zu verwenden. Ich habe darin auch eine eigene
memberlist_body.html definiert und konnte damit für mich uninteressante Spalten (Rang, Beiträge) ausblenden. Außerdem wird am Anfang meiner Datei geprüft, oder der ansehende der Gruppe der Administratoren angehört. Soweit so gut.
Mit {memberrow.PROFILE_FELDNAME_VALUE} kann ich mir auch die benutzerdefinierten Felder anzeigen lassen. Das funktioniert soweit auch, aber nur für Felder, die im Administrationsbereich dafür freigegeben sind. Meine anzuzeigenden Felder sind jedoch davon ausgenommen, sie sollen in der normalen Liste für den gewöhnlichen Nutzer verborgen bleiben.
In der memberlist.php gibt es folgenden Abschnitt:
Leider bringt es nichts die Filterregel auszukommentieren. Die verborgenen Felder werden trotzdem nicht in das array hinzugefügt.
Wo kann ich noch suchen, um das Skript zu zwingen, alle benutzerdefinierten Felder auszulesen, obwohl im Adminbereich der Schalter für das Verstecken gesetzt ist? Das wäre das einzige, was ich noch brauche, ansonsten würde das so für meinen Zweck reichen.
Vielen Dank für die Unterstützung.
Stattdessen habe ich die vorhandene memberlist.php kopiert und umbenannt, um sie als Ausgangspunkt zu verwenden. Ich habe darin auch eine eigene
memberlist_body.html definiert und konnte damit für mich uninteressante Spalten (Rang, Beiträge) ausblenden. Außerdem wird am Anfang meiner Datei geprüft, oder der ansehende der Gruppe der Administratoren angehört. Soweit so gut.
Mit {memberrow.PROFILE_FELDNAME_VALUE} kann ich mir auch die benutzerdefinierten Felder anzeigen lassen. Das funktioniert soweit auch, aber nur für Felder, die im Administrationsbereich dafür freigegeben sind. Meine anzuzeigenden Felder sind jedoch davon ausgenommen, sie sollen in der normalen Liste für den gewöhnlichen Nutzer verborgen bleiben.
In der memberlist.php gibt es folgenden Abschnitt:
Code: Alles auswählen
// Load custom profile fields
if ($config['load_cpf_memberlist'])
{
// Grab all profile fields from users in id cache for later use - similar to the poster cache
$profile_fields_cache = $cp->grab_profile_fields_data($user_list);
// Filter the fields we don't want to show
//foreach ($profile_fields_cache as $user_id => $user_profile_fields)
{
//foreach ($user_profile_fields as $field_ident => $profile_field)
{
// if (!$profile_field['data']['field_show_on_ml'])
// {
// unset($profile_fields_cache[$user_id][$field_ident]);
// }
}
}
}
Wo kann ich noch suchen, um das Skript zu zwingen, alle benutzerdefinierten Felder auszulesen, obwohl im Adminbereich der Schalter für das Verstecken gesetzt ist? Das wäre das einzige, was ich noch brauche, ansonsten würde das so für meinen Zweck reichen.
Vielen Dank für die Unterstützung.
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12179
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Re: [3.2] Zusätzliche Mitgliederliste mit Benutzerdefinierten Profilfelder
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.