Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
05.03.2022, 11:12
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2022, 11:13 von Gerti.)
Hallo,
es werden bei der Registrierung einige Pflichtfelder abgefragt, wovon einige über das Template member_profile_customfields (Syntax: {$customfields}) je nach Einstellung (Anzeige im Profil = ja/nein) angezeigt werden.
Wie könnte man es bewerkstelligen, dass z.B. zwei gezielte Felder Profilfelder im Profil beispielsweise nur den Admins sowie dem betreffenden User (IF-Definition in einem Template ist bekannt) zur Anzeige gebracht werden?
Plichtfeld 1 (fid=1) > Anzeige im Profil für alle
Plichtfeld 2 (fid=2) > Anzeige im Profil für alle
Plichtfeld 3 (fid=3) > Anzeige im Profil für alle
Plichtfeld 4 (fid=4) > Anzeige im Profil nur für User und Admins
Plichtfeld 5 (fid=5) > Anzeige im Profil nur für User und Admins
Plichtfeld 6 (fid=6) > Anzeige im Profil für alle
Vermute mal, das vllt. in der member.php etwas angepasst werden könnte.
Ziel ist, dass die Pflichtangaben bei der Registrierung z.B. (fid=1 bis fid=6) erforderlich sind, und über gesonderte Definitionen die Ausgabe im Profil von [b]fid=1 bis 3[/b] und fid=6 aber fid 4-5 nach indiviuell angezeigt werden. Begründung:
Manche Angaben sind bei der Registrierung im geschlossenem Forum erforderlich (z.B. Kundennummer) aber gehen nicht jeden User etwas an!
Ein ergänzendes PlugIn (Spezialfelder bei Registrierung) welches z.B. den Syntax: {$specialfields} zur Verfügung stellt, wäre natürlich der optimalste Weg, dann könnte man über ein eigenes Template den definierten Syntax verwenden.
Vorab besten Dank für Tipps, Hinweise und Anregungen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
05.03.2022, 13:26
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2022, 13:33 von SvePu.)
Reichen dir da nicht die jeweiligen Einstellungen des entsprechenden Profilfelds??
Der jeweilige User kann das Profilfeld in seinem Profil dann nicht sehen, aber er kann es im UserCP bearbeiten.
Beiträge: 2.244
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
06.03.2022, 10:58
(Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2022, 10:59 von Schnapsnase.)
Für den Admin sollte Sven seine Variante genügen, da der Admin ja ohnehin alles sehen soll.
Ansonsten könntest du die Variable {$profilefields} im Template member_profile auftrennen in z.B.:
{$userfields['fid4']}{$userfields['fid5']} usw.
Diese Variablen geben allerdings nur den Inhalt der Felder aus, ohne den HTML-Konstrukt drum herum.
Den müsstest du dir dann selbst wieder drumbasteln.
Danach kannst du z.B. so verfahren:
PHP-Code:
<if $mybb->user['uid'] == $memprofile['uid'] then>
{$userfields['fid4']}{$userfields['fid5']}
</if>
Der Profilfeldinhalt wird nun nur angezeigt, wenn der User sich sein eigenes Profil anzeigen lässt.
Viel Spaß beim Basteln.
Sicher wird´s vllt auch noch ne andere Lösung geben.
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
06.03.2022, 10:58
(Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2022, 11:01 von Gerti.)
Guter Gedankenansatz, aber leider Nein!
Das eingeforderte Pflichtfeld muss logischerweise bereits bei der Registrierung für Gäste sicht- und bearbeitbar sein, sonst kann es bei der Registrierung nicht ausgefüllt werden.
Gerade geprüft:
Einstellungen = sicht- und bearbeitbar für Gäste und Administratoren!
Aufruf der Mitgliederliste und Klick auf einen registrierten User = Anzeige der vertraulichen Daten:
a) Gast = Ja (alle User)
b) Registrierte User = Nein
c) Administratoren = Ja (alle User)
("b" soll jedoch ausschließlich seine eigenen Angaben - keine Daten der anderen User - angezeigt, aber nicht bearbeitbar sein)
Somit ist das eingeforderte Ziel im Forenbetrieb nicht erreicht, weil bei Klick auf die Mitgliederliste die vertraulichen Daten jedes registrierten Users von jedem Gast gesehen werden können.
@Schnapsnase
Dein Beitrag hat sich mit meinem Posting wegen einer Minute überschnitten. Klingt logisch, ich werde ihn nachher mal durchtesten und berichten. Danke dafür
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
(06.03.2022, 10:58)Gerti schrieb: Guter Gedankenansatz, aber leider Nein!
Das eingeforderte Pflichtfeld muss logischerweise bereits bei der Registrierung für Gäste sicht- und bearbeitbar sein, sonst kann es bei der Registrierung nicht ausgefüllt werden.
Sorry, aber da hast du einen Denkfehler drin...für die Anzeige z.B. bei der Registrierung genügt die Bearbeitbarkeit des Feldes....bei der Sichtbarkeit geht es nur um die Anzeige der Daten im Profil oder den Beiträgen.
Also:
Sichtbar für:
Bearbeitbar für:
Beiträge: 2.244
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
@Sven
Wenn ich´s richtig verstanden habe, möchte Gerti die Sichtbarkeit auf den einzelnen User runterbrechen.
D.h., jeder User darf nur sein eigenes Profilfeld sehen.
Das ist mir deiner Variante nicht erreichbar.
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
(06.03.2022, 11:47)Schnapsnase schrieb: @Sven
Wenn ich´s richtig verstanden habe, möchte Gerti die Sichtbarkeit auf den einzelnen User runterbrechen.
D.h., jeder User darf nur sein eigenes Profilfeld sehen.
Das ist mir deiner Variante nicht erreichbar.
Ja, das ist richtig, hatte ich in meinem vorherigen Beitrag auch geschrieben...der User kann seine Eingaben damit nur im UserCP sehen und/oder bearbeiten.
Beiträge: 2.244
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
06.03.2022, 12:15
(Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2022, 12:21 von Schnapsnase.)
@Gerti
Ich weiß, dass mein Vorgehen jetzt verpönt wird
, aber ich würde mir ein neues Template "member_profile_specialfield" anlagen und den gesamten HTML-Konstrukt der Customfields einfügen, aber eben den Feldinhalt über z.B. {$userfields['fid4']} separieren.
Danach kannst du im Template member-profile dieses neue Template verfügbar machen. Füge in der ersten Zeile folgendes ein:
PHP-Code:
<?php
eval("\$member_profile_specialfield = \"".$templates->get("member_profile_specialfield")."\";");
?>
Jetzt kannst du weiter unten z.B. folgendes tun:
PHP-Code:
<if $mybb->user['usergroup'] == 4 then>
{$profilefields}
<elseif $mybb->user['usergroup'] != 4 && $mybb->user['uid'] == $memprofile['uid'] then>
{$member_profile_specialfield}
</if>
An dieser Stelle werde ich bestimmt gleich erschlagen... ist auch ohne Test nur mal schnell zusammengeschrieben.
Los haut drauf!
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
06.03.2022, 12:43
(Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2022, 12:54 von Gerti.)
Der erste
Tipp von Schnapsnase funktioniert perfekt und erfüllt somit genau das was ich wollte! Ich habe keine unerwünschten Nebeneffekte entdecken können.
Die Ergänzung mit der Einbindung eines eigenen Templates erleichtert die zudem die Übersicht beim bearbeiten.
Ganz herzlichen Dank an Schnapsnase für die doch sehr hilfreichen Tipps zur gewünschten Lösungsfindung.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 2.244
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(06.03.2022, 12:43)Gerti schrieb: Ganz herzlichen Dank an Schnapsnase für die doch sehr hilfreichen Tipps zur gewünschten Lösungsfindung.
Gerne doch!
Manchmal geht´s eben auch ohne Plugins und/oder Eingriffe in die Core-Dateien.