Ich habe eine Frage gelesen, die ich recht sinnvoll fand:
"...Wie kann man das Bild Uploaddatum anzeigen..."
Es gibt nun 2 Wege:
1) das tatsächliche Uploaddatum vom Server auslesen und irgendwie wiedergeben
2) das Datum der Bildfreischaltung als Ersatz nutzen
Wir nehmen natürlich Möglichkeit 2, da diese am einfachsten für jedermann zu realisieren ist.
Fangen wir also mit dem Anlegen eines Profilfeldes an. Öffne dazu die editprofile.html und suche:
Diese Codezeile sagt aus, dass es nicht sichtbare Profilfelder, sogenannte HIDDENFIELDS gibt und diese wohl jetzt kommen und verarbeitet werden müssen.
Füge drunter ein:
Hier legen wir nun unser eigenes HIDDENFIELD an.
type="hidden" sagt über die Art des Formularfeldes aus. In diesem Fall "hidden", also versteckt.
name="upload" sagt dem Template (in diesem Falle editprofile.html) in welches Profilfeld die Information value gespeichert werden sollen. In meinem Beispiel heißt dieses Profilfeld upload.
value="{GETDATE}" stellt den Inhalt der ins zu Profil zu speichernden Information dar. In diesem speziellen Fall heißt dieser Wert {GETDATE}. Dieser Wert ist eine in einem Plugin verschachtelte Templatevariable, welche in der HTML Ausgabe in eine für den User leserlichen Datumsangabe verwandelt wird.
Weiter gehts....
Öffne die profile.html und füge ein, wo das Datum angezeigt werden soll:
{GET|$user_information.upload} wird verwendet, um ein Profilfeld bzw. dessen Inhalt darstellen zu lassen. "upload" ist der von uns selbst bestimmte Profilfeld - Wert. Auf leserlich übersetzt hieße diese Abfrage etwa {ZEIGE|$user_information.upload} was das Verständnis erleichtert.
Nun würde ich persönlich aber diese Abfrage etwas erweitern, da nicht jeder ein Foto in seinem Profi besitzt, jedoch das Profilfeld "upload" nach jeder Profiländerung gespeichert, und ausgegeben werden würde.
Eine solche Abfrage könnte etwa wie folgt aussehen:
{IF|$user_information.image_activate}{GET|$user_information[/COLOR].upload}{ENDIF}
Hier wird überprüft, ob ein ob das Bild freigeschaltet wurde. Dies erfordert aber keine weitere Erklärung. Wichtig wäre nur zu wissen, dass {IF|...} eine Abfrage darstellt, die überprüft OB der abgefragte Zustand zutrifft, oder nicht. Insofern man eine {IF|...} Abfrage benutzt, MUSS man nach der auszuführenden Aktion {GET|$user_information.upload} unbedingt ein {ENDIF} setzen. Dies beendet die Abfrage, OB.
Selbst diese Abfrage ließe sich noch erweitern:
{IF|$user_information.image_activate}{GET|$user_information[/COLOR].upload}{ELSE}No Data{ENDIF}
Wir sehen, hier hat sich {ELSE}No Data eingeschlichen. Insofern eine {IF|...} Abfrage ( {WENN|...} ) vorhanden ist, kann man eine {ELSE} Abfrage ( {WENN NICHT|...} ) nutzen. So kann man beispielsweise einen Ersatztext einblenden lassen, wenn ein Bild noch nicht freigeschaltet ist.
Kommen wir zum nächsten Schritt...
Der schnellste und einfachste Schritt ist das Anlegen des Profilfeldes in die Settings.dat:
Suche nach:
Füge darunter ein:
Hier wird einfach de Chat gesagt, dass er ein neues Profilfeld, namens upload hat. Somit werden die Formulareingaben auch im profil gespeichert und im Erfolgsfall auch ausgegeben.
Hat man all diese Schritte genau befolgt und ein Bild hochgeladen, jedoch noch nicht freigeschaltet, so sollte er in der profile.html an der Stelle, wo er die Abfrage eingefügt hat, in etwa folgendes sehen:
No Data
Wenn man nun das Bild freischaltet, sollte es ungefähr so aussehen (gleiche Stelle):
16.06.2006
Insofern dies zutrifft, hat man dieses Tutorial erfolgreich absolviert![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
-----------
Das o.g. Tutorial war spezifiziert auf die Datumsangabe beim Bilder upload. Natürlich kann man das komplette Tutorial auch für alle anderen Profilfelder nutzen.
Jeoch muss man folgende Änderungen beachten:
Aus
wird
Hier haben wir nun kein "hidden" (verstecktes) Feld, sondern ein Textfeld. Das rot markierte kann benannt werden, wie man lustig ist. Die Grün markierten sind die Profilfelder, welche die gleichen Namen besitzen müssen.
{GET|...} muss ich nun nicht mehr erklären. Hab ich ja oben schon![:D](https://forum.gt-chat.de/wcf/images/smilies/biggrin.png)
Das drumrum ist nur als Tabellenvorlage gedacht und kann natürlich bei Bedarf geändert werden, wie man will![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
Man sieht also... So schwer isses nich![:)](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!
"...Wie kann man das Bild Uploaddatum anzeigen..."
Es gibt nun 2 Wege:
1) das tatsächliche Uploaddatum vom Server auslesen und irgendwie wiedergeben
2) das Datum der Bildfreischaltung als Ersatz nutzen
Wir nehmen natürlich Möglichkeit 2, da diese am einfachsten für jedermann zu realisieren ist.
Fangen wir also mit dem Anlegen eines Profilfeldes an. Öffne dazu die editprofile.html und suche:
{GET|$runtime.hiddenfields}
Diese Codezeile sagt aus, dass es nicht sichtbare Profilfelder, sogenannte HIDDENFIELDS gibt und diese wohl jetzt kommen und verarbeitet werden müssen.
Füge drunter ein:
<input type="hidden" name="upload" value="{GETDATE}">
Hier legen wir nun unser eigenes HIDDENFIELD an.
type="hidden" sagt über die Art des Formularfeldes aus. In diesem Fall "hidden", also versteckt.
name="upload" sagt dem Template (in diesem Falle editprofile.html) in welches Profilfeld die Information value gespeichert werden sollen. In meinem Beispiel heißt dieses Profilfeld upload.
value="{GETDATE}" stellt den Inhalt der ins zu Profil zu speichernden Information dar. In diesem speziellen Fall heißt dieser Wert {GETDATE}. Dieser Wert ist eine in einem Plugin verschachtelte Templatevariable, welche in der HTML Ausgabe in eine für den User leserlichen Datumsangabe verwandelt wird.
Weiter gehts....
Öffne die profile.html und füge ein, wo das Datum angezeigt werden soll:
{GET|$user_information.upload}
{GET|$user_information.upload} wird verwendet, um ein Profilfeld bzw. dessen Inhalt darstellen zu lassen. "upload" ist der von uns selbst bestimmte Profilfeld - Wert. Auf leserlich übersetzt hieße diese Abfrage etwa {ZEIGE|$user_information.upload} was das Verständnis erleichtert.
Nun würde ich persönlich aber diese Abfrage etwas erweitern, da nicht jeder ein Foto in seinem Profi besitzt, jedoch das Profilfeld "upload" nach jeder Profiländerung gespeichert, und ausgegeben werden würde.
Eine solche Abfrage könnte etwa wie folgt aussehen:
{IF|$user_information.image_activate}{GET|$user_information[/COLOR].upload}{ENDIF}
Hier wird überprüft, ob ein ob das Bild freigeschaltet wurde. Dies erfordert aber keine weitere Erklärung. Wichtig wäre nur zu wissen, dass {IF|...} eine Abfrage darstellt, die überprüft OB der abgefragte Zustand zutrifft, oder nicht. Insofern man eine {IF|...} Abfrage benutzt, MUSS man nach der auszuführenden Aktion {GET|$user_information.upload} unbedingt ein {ENDIF} setzen. Dies beendet die Abfrage, OB.
Selbst diese Abfrage ließe sich noch erweitern:
{IF|$user_information.image_activate}{GET|$user_information[/COLOR].upload}{ELSE}No Data{ENDIF}
Wir sehen, hier hat sich {ELSE}No Data eingeschlichen. Insofern eine {IF|...} Abfrage ( {WENN|...} ) vorhanden ist, kann man eine {ELSE} Abfrage ( {WENN NICHT|...} ) nutzen. So kann man beispielsweise einen Ersatztext einblenden lassen, wenn ein Bild noch nicht freigeschaltet ist.
Kommen wir zum nächsten Schritt...
Der schnellste und einfachste Schritt ist das Anlegen des Profilfeldes in die Settings.dat:
Suche nach:
custom_profile_fields => [
Füge darunter ein:
'upload',
Hier wird einfach de Chat gesagt, dass er ein neues Profilfeld, namens upload hat. Somit werden die Formulareingaben auch im profil gespeichert und im Erfolgsfall auch ausgegeben.
Hat man all diese Schritte genau befolgt und ein Bild hochgeladen, jedoch noch nicht freigeschaltet, so sollte er in der profile.html an der Stelle, wo er die Abfrage eingefügt hat, in etwa folgendes sehen:
No Data
Wenn man nun das Bild freischaltet, sollte es ungefähr so aussehen (gleiche Stelle):
16.06.2006
Insofern dies zutrifft, hat man dieses Tutorial erfolgreich absolviert
![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
-----------
Das o.g. Tutorial war spezifiziert auf die Datumsangabe beim Bilder upload. Natürlich kann man das komplette Tutorial auch für alle anderen Profilfelder nutzen.
Jeoch muss man folgende Änderungen beachten:
Aus
<input type="hidden" name="upload" value="{GETDATE}">
wird
<tr><td>Profilfeld: </td><td><input type="text" name="profilfeld" value="profilfeld"></td></tr>
Hier haben wir nun kein "hidden" (verstecktes) Feld, sondern ein Textfeld. Das rot markierte kann benannt werden, wie man lustig ist. Die Grün markierten sind die Profilfelder, welche die gleichen Namen besitzen müssen.
{GET|...} muss ich nun nicht mehr erklären. Hab ich ja oben schon
![:D](https://forum.gt-chat.de/wcf/images/smilies/biggrin.png)
Das drumrum ist nur als Tabellenvorlage gedacht und kann natürlich bei Bedarf geändert werden, wie man will
![:)](https://forum.gt-chat.de/wcf/images/smilies/smile.png)
Man sieht also... So schwer isses nich
![:)](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.597 mal gelesen