Hallöchen,
da scheinbar einige User scheinbar recht neu sind in der Welt des GTChat, möchte ich hier einmal kurz erklären, wie man Profilfelder anlegt.
Dieses Tutorial ist ein Zusatz zu diesem ==> Foto Uploaddatum und eigene Profilfelder
Ich erkläre hier einmal genau, wie man
definiert.
Fangen wir mit der Grundlage an.
Um ein Profilfeld, egal in welcher Form anzulegen, benötigen wir erst einmal die Information darüber, dass ein Profilfeld existiert. Dazu öffnen wir die Datei Settings.dat und suchen den Punkt custom_profile_fields => [. Darunter werden wir sicherlich schon einige Einträge finden. Der gesamte Teil könnte zum Beispiel so aussehen:
Die genaue Erklärung ergibt sich im Laufe des Tutorials von selbst.
Wir legen jetzt mal ein Feld "test" an. Also setzen wir direkt unter die Zeile custom_profile_fields => [ folgende Zeile:
'test',
Wir können die Datei nun schließen. Nun widmen wir uns der Datei, in der das Profileld bearbeitet werden kann. Dies is die Datei Templates_xx/editprofile.html.
Haben wir diese geöffnet, öffenbart sich uns ein Codedschungel. Es gibt keine Norm, was den Inhalt betrifft, daher kann dieser von Version zu Version unterschiedlich sein.
Folgende Zeilen müssen in diese Datei eingefügt werden:
Wie man sieht, muss der Name des Feldes der Selbe sein, wie das, was wir in die Datei Settings.dat eintragen müssen.
value="{GET|$user_information.test}" zeigt den Inhalt aus dem Profilfeld "test", was beim ersten Ändern nichts sein wird.
Wohin ihr diese Zeilen packt, ist euch überlassen. Ein Beispiel könnte sein:
Suche in der editprofile.html nach:
Füge darunter die o.g. Zeilen ein.
Unsere Arbeit ist hier nun beendet. Jetzt können (nicht müssen) wir den Inhalt des Formularfeldes für alle Benutzer im Profil sichtbar machen. Dies erreichen wir, indem wir die Datei Templates_de/profile.html öffnen und folgende Zeilen dort einfügen:
Auch hier das selbe Spielchen. Zum Beispiel:
Suche in der Datei profile.html nach:
</tr>
Füge darunter die o.g. Zeilen ein.
Wir können mittels 2 Zeilen auch den Effekt erreichen, dass er Text nur angezeigt wird, wenn das Profilfeld ausgefüllt wurde.
Hierzu schauen wir uns mal folgende Zeile an:
{GET|$user_information.test}
Wie man erkennt, wird hier eine Information "geholt". Wenn man nun im englischen etwas bewandert ist, fragt man etwas mit "IF" ab. Dann sieht die Zeile so aus:
{IF|$user_information.test}
Ganz einfach also.
Um nun unseren Effekt hervorzurufen, müssen wir ÜBER unsere Zeilen, den o.g. Abfragecode "IF" einfügen. Da die Abfrage auch beendet werden muss, fügen wir NACH unserem Code noch die eile {ENDIF} ein.
Probiert es einfach mal aus.
Was macht man, wenn nur ein Administrator das Profilfeld bearbeiten können darf bzw. sehen?
Hier brauchen wir auch wieder unseren Abfragecode "IF". Wir müssen aber nun keine Profilinformation, sondern ein Zugriffsrecht überprüfen. Das Schlüsselwort nennt sich hierfür "permission".
Wir nehmen also unseren Beispielcode {IF|$user_information.test} und modifizieren ihn:
{IF|permission(admin)}
Wie man die Zugriffsrechte, wie etwa "admin" erstellt, erfahrt ihr in einem bald folgenden Tutorial.
Jedenfalls wird mittels dieser Zeile abgefragt, ob der Benutzer, der die Seite gerade aufruft, die "permission" "admin" besitzt. Tut er dass, so wird das, was darauf folgt, angezeigt. In unserem Beispiel müsste es also so aussehen in der Datei editprofile.html:
In der Datei profile.html dementsprechend:
Man sieht also, es ist ganz einfach.
Bald folgen noch die Erklärungen zu Checkboxen und Auswahlfeldern. Bis hierhin aber sollte zumindest jeder ein Profilfeld erstellen können![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
Viel Spaß damit.
Und nochwas natürlich:
Ich übernehme keine Haftung falls dieses Script Schäden an eurem Chat hervorrufen sollte! Macht am besten vorher ein Backup aller Dateien!
da scheinbar einige User scheinbar recht neu sind in der Welt des GTChat, möchte ich hier einmal kurz erklären, wie man Profilfelder anlegt.
Dieses Tutorial ist ein Zusatz zu diesem ==> Foto Uploaddatum und eigene Profilfelder
Ich erkläre hier einmal genau, wie man
- Standard Textfelder
- Checkboxen
- Auswahlfelder
definiert.
Fangen wir mit der Grundlage an.
Um ein Profilfeld, egal in welcher Form anzulegen, benötigen wir erst einmal die Information darüber, dass ein Profilfeld existiert. Dazu öffnen wir die Datei Settings.dat und suchen den Punkt custom_profile_fields => [. Darunter werden wir sicherlich schon einige Einträge finden. Der gesamte Teil könnte zum Beispiel so aussehen:
custom_profile_fields => [
'nosmileys',
'gagtime',
'birth_date',
'homepage',
'homepagetitle',
'popup_privatemsg',
],
Die genaue Erklärung ergibt sich im Laufe des Tutorials von selbst.
Wir legen jetzt mal ein Feld "test" an. Also setzen wir direkt unter die Zeile custom_profile_fields => [ folgende Zeile:
'test',
Wir können die Datei nun schließen. Nun widmen wir uns der Datei, in der das Profileld bearbeitet werden kann. Dies is die Datei Templates_xx/editprofile.html.
Haben wir diese geöffnet, öffenbart sich uns ein Codedschungel. Es gibt keine Norm, was den Inhalt betrifft, daher kann dieser von Version zu Version unterschiedlich sein.
Folgende Zeilen müssen in diese Datei eingefügt werden:
<tr>
<td>Test:</td>
<td><input type=text name=test size=30 style="width:100%" value="{GET|$user_information.test}"></td>
</tr>
Wie man sieht, muss der Name des Feldes der Selbe sein, wie das, was wir in die Datei Settings.dat eintragen müssen.
value="{GET|$user_information.test}" zeigt den Inhalt aus dem Profilfeld "test", was beim ersten Ändern nichts sein wird.
Wohin ihr diese Zeilen packt, ist euch überlassen. Ein Beispiel könnte sein:
Suche in der editprofile.html nach:
<tr>
<td>Farbe:</td>
<td>
<input type=text name=color size=10 style="width:100%" maxlength=10 value="{GET|$user_information.color}"><br>
<span class="smalltext"><a href="javascript:void(0)" onclick="opener.setColor=setColor;opener.openWindow('palette',300,250);return false;">Farbe auswählen</a></span>
</td>
</tr>
Füge darunter die o.g. Zeilen ein.
Unsere Arbeit ist hier nun beendet. Jetzt können (nicht müssen) wir den Inhalt des Formularfeldes für alle Benutzer im Profil sichtbar machen. Dies erreichen wir, indem wir die Datei Templates_de/profile.html öffnen und folgende Zeilen dort einfügen:
<tr>
<td><b>Test:</b></td>
<td>{GET|$user_information.test}</td>
Auch hier das selbe Spielchen. Zum Beispiel:
Suche in der Datei profile.html nach:
<tr>
<td><b>Status:</b></td>
<td>{GROUPNAME|$user_information.group}</td>
</tr>
</tr>
Füge darunter die o.g. Zeilen ein.
Wir können mittels 2 Zeilen auch den Effekt erreichen, dass er Text nur angezeigt wird, wenn das Profilfeld ausgefüllt wurde.
Hierzu schauen wir uns mal folgende Zeile an:
{GET|$user_information.test}
Wie man erkennt, wird hier eine Information "geholt". Wenn man nun im englischen etwas bewandert ist, fragt man etwas mit "IF" ab. Dann sieht die Zeile so aus:
{IF|$user_information.test}
Ganz einfach also.
Um nun unseren Effekt hervorzurufen, müssen wir ÜBER unsere Zeilen, den o.g. Abfragecode "IF" einfügen. Da die Abfrage auch beendet werden muss, fügen wir NACH unserem Code noch die eile {ENDIF} ein.
Probiert es einfach mal aus.
Was macht man, wenn nur ein Administrator das Profilfeld bearbeiten können darf bzw. sehen?
Hier brauchen wir auch wieder unseren Abfragecode "IF". Wir müssen aber nun keine Profilinformation, sondern ein Zugriffsrecht überprüfen. Das Schlüsselwort nennt sich hierfür "permission".
Wir nehmen also unseren Beispielcode {IF|$user_information.test} und modifizieren ihn:
{IF|permission(admin)}
Wie man die Zugriffsrechte, wie etwa "admin" erstellt, erfahrt ihr in einem bald folgenden Tutorial.
Jedenfalls wird mittels dieser Zeile abgefragt, ob der Benutzer, der die Seite gerade aufruft, die "permission" "admin" besitzt. Tut er dass, so wird das, was darauf folgt, angezeigt. In unserem Beispiel müsste es also so aussehen in der Datei editprofile.html:
{IF|permission(admin)}
<tr>
<td>Test:</td>
<td><input type=text name=test size=30 style="width:100%"></td>
</tr>
{ENDIF}
In der Datei profile.html dementsprechend:
{IF|permission(admin)}
<tr>
<td><b>Test:</b></td>
<td>{GET|$user_information.test}</td>
Man sieht also, es ist ganz einfach.
Bald folgen noch die Erklärungen zu Checkboxen und Auswahlfeldern. Bis hierhin aber sollte zumindest jeder ein Profilfeld erstellen können
![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
Viel Spaß damit.
Und nochwas natürlich:
Ich übernehme keine Haftung falls dieses Script Schäden an eurem Chat hervorrufen sollte! Macht am besten vorher ein Backup aller Dateien!
1.615 mal gelesen