do-while / contao-pdf-nc-attachment-bundle

Erweiterung des Contao Notification Center: mit den Tokens eine PDF-Vorlage ausfüllen und an die Mail anhängen
3 stars 2 forks source link

form_textfield als Datum in pdf formatiert ausgeben #11

Open swinde opened 1 year ago

swinde commented 1 year ago

Hallo, ich weis nicht genau ob mein Problem ein Fehler ist oder ob ich mich nur doof anstelle.

Ich habe ein Formular, wo ich unter anderem auch das Geburtstag über ein Textfeld als Datum abfrage. Ich bekomme allerdings nur den Timestamp in Form von -1XXXXXXXX ausgegeben. Ein umformatieren mit Inserttag wie im Handbuch {{format_date::::}} funktioniert nicht.

Vermutlich sehe ich gerade den Wald vor lauter Bäumen nicht! Vg Steffen Winde

do-while commented 1 year ago

Die Erweiterung lebt von den Eingangsdaten, die als SimpleTokens übergeben werden. Wenn das Datum dort als UNIX-Timestamp übergeben wird, ist es eine solche Zahl. Wenn ich mir das so ansehe, sollte der InsertTag {{format_date...}} das aber wandeln können. Der InsertTag gilt allerdings als String, weil es ja eine Textersetzung ist, deshalb muss er in "" eingeschlossen werden. Hast Du mal mit "{{format_date::##member_birthday##}}" als Textposition probiert?

swinde commented 1 year ago

Hallo, danke für Ihre Antwort! In der Benachrichtigungsmail wird der Unix-Timestamp mit ##formlabel_dateOfBirth## {{format_date::##form_dateOfBirth##::d.m.Y}} in Geburtsdatum 01.01.1920 umgewandelt. Im PDF-Gateway habe ich das so eingetragen. "{{format_date::##form_dateOfBirth##::d.m.Y}}" wird aber ignoriert und weiterhin als Unix-Timestamp (Geburtstag: -1577926800) ausgegeben.

Vg Steffen Winde

do-while commented 1 year ago

Da wird es schwer etwas allgemeingültiges dagegen zu tun. Du könntest mit dem HOOK $GLOBALS['TL_HOOKS']['pdfnc_Positions'] im Handbuch Anleitung_contao-pdf-nc-attachment-bundle.pdf auf Seite 10 die Position gezielt heraussuchen und dann mit PHP die richtige Formatierung zurückgeben.