Re: Profilfeld
Verfasst: 19.06.2009 02:19
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:
Die php-Funktion erzeugt immer die Feldkennung in Grußbuchstaben. Will man den Feldnamen oder den Wert, so kann man einfach im Template
und verwenden. Zusätzlich gibt es noch und 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
dann einfach etwas einfügt wie z.B.:
Dann kann beispielsweise 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.
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 -->...
Code: Alles auswählen
{postrow.S_PROFILE_GESCHLECHT_NAME}
Code: Alles auswählen
{postrow.S_PROFILE_GESCHLECHT_VALUE}
Code: Alles auswählen
{postrow.S_PROFILE_GESCHLECHT_TYPE}
Code: Alles auswählen
{postrow.S_PROFILE_GESCHLECHT_EXPLAIN}
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'],
Code: Alles auswählen
'PROFILE_' . strtoupper($ident) . '_MEINEAUSGABE' => meinefunktion($value),
Code: Alles auswählen
{postrow.S_PROFILE_GESCHLECHT_MEINEAUSGABE}
Ich schweife ein wenig ab, aber prinzipiell sollte jetzt klar sein, wie man solche Sachen regeln kann, wenn man ein mehrsprachiges Forum hat.