Seite 1 von 2
Benutzerdefinierte Profilfelder verstecken.
Verfasst: 02.06.2009 15:18
von matteovice
Guten Tag,
im ACP kann man unter "Benutzer und Gruppen", "benutzerdefinierte Profilfelder" und "Sichtbarkeit" die "Profilfelder verstecken".
Allerdings sind diese dann immer noch von den Moderatoren einsehbar. Dies möchte ich verhindern.
Welche Einstellung muss ich vornehmen bzw. welche Änderung muss ich dazu durchführen.
Gruß
Matthias
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 03.06.2009 15:45
von Metzle
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 11:49
von matteovice
oxpus hat geschrieben:
// Hier die Feldkennungen gemäß Profilfeldverwaltung angeben, nicht die angegebenen Namen des Feldes:
$forbidden_fields = array('field_name_1', field_name_2);
Das habe ich gemacht. Die Feldkennung für Feld 1 gemäß Profilverwaltung lautet "telefon". Wenn ich jetzt "field_name_1" mit "telefon" ersetze, bleibt dieses Feld (auch nach leeren des Cache) weiterhin sichtbar. Danach habe ich versucht die Bezeichnung "field_name_1" stehen zu alles. Aber auch hier Fehlanzeige.
Gruß
Matthias
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 13:15
von oxpus
Hallo,
wenn du das Snippet so verwendest, wie ich es erstellt habe, dann wird das Feld nur für das eigene Profil und den Forengründer sichtbar gemacht.
Kein anderer sieht es.
Ausser, die Feldkennung ist eben falsch angegeben...
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 13:28
von matteovice
Das habe ich schon verstanden, dann muss ich einen Fehler bei der Eingabe der Feldkennung machen. Nur welchen?
Ist die Eingabe von "telefon" (= Feldkennung) statt "feld_name_1" korrekt?
Gruß
Matthias
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 13:29
von oxpus
Ja, und "feld_name_1" wäre dann auch überflüssig.
Poste doch mal den Teil, den du für dich angepasst hast.
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 13:32
von matteovice
Der sieht so aus:
Code: Alles auswählen
// Hier die Feldkennungen gemäß Profilfeldverwaltung angeben, nicht die angegebenen Namen des Feldes:
$forbidden_fields = array('telefon');
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 13:35
von oxpus
Komisch, bei mir würde das so klappen.
Verlinke doch mal die Datei includes/functions_profile_fields.php.
Dann schaue ich mal rein, ob nicht vielleicht ein Einbaufehler vorliegt.
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 14:06
von matteovice
Re: Benutzerdefinierte Profilfelder verstecken.
Verfasst: 06.06.2009 14:36
von oxpus
Öhm, ja, da liegt wirklich ein Einbaufehler vor.
War aber auch mit meine Schuld.
Finde mal den Block
Code: Alles auswählen
$tpl_fields['row'] += array(
'PROFILE_' . strtoupper($ident) . '_VALUE' => $value,
'PROFILE_' . strtoupper($ident) . '_TYPE' => $ident_ary['data']['field_type'],
'PROFILE_' . strtoupper($ident) . '_NAME' => $ident_ary['data']['lang_name'],
'PROFILE_' . strtoupper($ident) . '_EXPLAIN'=> $ident_ary['data']['lang_explain'],
'S_PROFILE_' . strtoupper($ident) => true
);
}
$tpl_fields['blockrow'][] = array(
'PROFILE_FIELD_VALUE' => $value,
'PROFILE_FIELD_TYPE' => $ident_ary['data']['field_type'],
'PROFILE_FIELD_NAME' => $ident_ary['data']['lang_name'],
'PROFILE_FIELD_EXPLAIN' => $ident_ary['data']['lang_explain'],
'S_PROFILE_' . strtoupper($ident) => true
);
und ersetze diesen durch
Code: Alles auswählen
$tpl_fields['row'] += array(
'PROFILE_' . strtoupper($ident) . '_VALUE' => $value,
'PROFILE_' . strtoupper($ident) . '_TYPE' => $ident_ary['data']['field_type'],
'PROFILE_' . strtoupper($ident) . '_NAME' => $ident_ary['data']['lang_name'],
'PROFILE_' . strtoupper($ident) . '_EXPLAIN'=> $ident_ary['data']['lang_explain'],
'S_PROFILE_' . strtoupper($ident) => true
);
$tpl_fields['blockrow'][] = array(
'PROFILE_FIELD_VALUE' => $value,
'PROFILE_FIELD_TYPE' => $ident_ary['data']['field_type'],
'PROFILE_FIELD_NAME' => $ident_ary['data']['lang_name'],
'PROFILE_FIELD_EXPLAIN' => $ident_ary['data']['lang_explain'],
'S_PROFILE_' . strtoupper($ident) => true
);
}
Die schliessende (geschweifte) Klammer war an der falschen Stelle.
Mein Snippet habe ich dann auch sogleich angepasst, damit das klarer wird.