Profilfeld

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
blablubbb
Mitglied
Beiträge: 10
Registriert: 18.10.2007 22:55
Wohnort: Augsburg

Re: Profilfeld

Beitrag von blablubbb »

Also ich finde das nicht so schön, wie ihr das alle regelt. Der name mit dem ihr vergleicht ist sprachspezifisch, das heißt automatisch, dass euer Forum nicht mehrsprachig sein kann und dass ihr Probleme mit Umlauten und ähnlichem bekommt. Hier eine sauberere Lösung:
Nehmen wir an, die Feld-Kennung heitßt "geschlecht" (nicht name!, der ist "Geschlecht"
für de und "Gender" für en...). Nun können wir folgendes machen:

Code: Alles auswählen

<!-- IF postrow.S_PROFILE_GESCHLECHT -->...
Die php-Funktion erzeugt immer die Feldkennung in Grußbuchstaben. Will man den Feldnamen oder den Wert, so kann man einfach im Template

Code: Alles auswählen

{postrow.S_PROFILE_GESCHLECHT_NAME}
und

Code: Alles auswählen

{postrow.S_PROFILE_GESCHLECHT_VALUE}
verwenden. Zusätzlich gibt es noch

Code: Alles auswählen

{postrow.S_PROFILE_GESCHLECHT_TYPE}
und

Code: Alles auswählen

{postrow.S_PROFILE_GESCHLECHT_EXPLAIN}
und wenn man den Inhalt verarbeiten will, so kann man in includes/functions_profile_fields.php eine Funktion definieren, und dann bei etwa Zeile 400 die Funktion einbinden, indem man nach

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'],
dann einfach etwas einfügt wie z.B.:

Code: Alles auswählen

					'PROFILE_' . strtoupper($ident) . '_MEINEAUSGABE'	=> meinefunktion($value),
Dann kann beispielsweise

Code: Alles auswählen

{postrow.S_PROFILE_GESCHLECHT_MEINEAUSGABE}
ein irgendwie verarbeiteter Wert sein (beispielsweise auch über eine DB-Abfrage) und den Bildnamen oder den kompletten html-code für das Bild oder was man auch immer haben will enthalten... (z.B.: Vereinslogo bei Fußballverein aus DB raussuchen)

Ich schweife ein wenig ab, aber prinzipiell sollte jetzt klar sein, wie man solche Sachen regeln kann, wenn man ein mehrsprachiges Forum hat.
Viele Gruesse

blablubbb
arty4u
Mitglied
Beiträge: 28
Registriert: 20.10.2007 19:28

Re: Profilfeld

Beitrag von arty4u »

Gibt es nun eine Fertigen Code den man übernehmen kann?
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“