Re: [TYPO3-german] Timestamp in Formhandler
Am 25.03.2011 15:47, schrieb Reinhard Führicht: Am 2011-03-25 10:59, schrieb Martin Ceglarek: Hallo Reinhard, danke für Deine Antwort und für die erstklassige Extension. Habe Deine Vorschläge mal durchgetestet. Sie funktionieren beide an sich einwandfrei (für andere Leser: in Zeile data = GP:formhander|formtime ist ein Tippfehler. Muss heißen data = GP:formhandler|formtime). Sie reichen aber nicht so weit, wie ich sie einsetzen möchte. Die benutzerdefinierten Marker aus plugin.Tx_Formhandler.settings.markers lassen sich zwar in den Subparts der (X)HTML-Templates nutzen, sind aber in den Labels von LLL wie es scheint nicht anwendbar, wie etwa die ###value_feldname###-Marker (###value_formtime### liefert ja den unformatierten Timestamp ja in die Labels). Eine solcher Einsatz in LLL wäre aber für saubere Mehrsprachigkeit nötig. Das Zerlegen der Labels in Teil-Strings und ihre Zusammensetzung im Subpart wäre da zwar eine Lösung. Sie verkompliziert die Sache aber sehr und stellt Übersetzer vor große Herausforderungen, da sie dann Teilsätze in durchaus abweichender Syntax lokalisieren müssen, was sehr pflegeintensiv ist. Wüsstest Du einen Weg, wie ich die Werte der benutzerdefinierten Marker in die Labels bekommen kann? Gruß Martin Am 24.03.2011 16:17, schrieb Reinhard Führicht: Am 2011-03-24 12:15, schrieb Martin Ceglarek: Hallo zusammen, möchte gern in Formhandler-E-Mails mit Datums- und Zeitangaben von Formularversand arbeiten. Habe dazu den Marker ###TIMESTAMP### genommen. Finde aber keine Möglichkeit, seinen Wert so mit stdWrap zu formatieren, dass daraus etwa verwertbare Marker (etwa ###DATE### und ###TIME###) für E-Mail-Templates generierbar wären. Mein Kandidat war Interceptor_ParseValues. Der formatiert aber nur floats. Hat jemand einen Tipp für mich? Gruß Martin Ceglarek Hallo Martin Du kannst: * Den Timestamp selber generieren: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = date : U strftime = %d.%m.%Y %H:%M:%S } } * Oder auf den im Formular übertragenen Timestamp zurückgreifen: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = GP:formhander|formtime strftime = %d.%m.%Y %H:%M:%S } } Den Marker ###myTimeStamp### kannst du dann in allen Subparts verwenden. Viele Grüße, Reinhard Hallo Martin, du hast Recht, für diese Anforderung reichen dir solche Mittel nicht. Da hilft es wohl nur mehr einen eigenen Interceptor zu schreiben, der dir den Timestamp formatiert und speichert. Ich habe den Code nicht getestet, also keine Garantie. z.B.: class Tx_Formhandler_Interceptor_Timestamp extends Tx_Formhandler_AbstractInterceptor { public function process() { $date = strftime('%d.%m.%Y %H:%M:%S'); $this-gp['date'] = $date; return $this-gp; } } Die Klasse kannst du als Tx_Formhandler_Interceptor_Timestamp.php im fileadmin ablegen und dann im Formhandler verwenden. Bsp: Klasse liegt in fileadmin/scripts/ plugin.Tx_Formhandler.settings { additionalIncludePaths.1 = fileadmin/scripts/ saveInterceptors.1.class = Interceptor_Timestamp } Der Marker ###value_date### enthält dann das formatierte Datum. Viele Grüße, Reinhard Hallo Reinhard, Danke für Deinen Code. Habe ich mal durchgetestet. Er funktioniert soweit fehlerfrei und wie gewünscht. Habe die Formatierung des Timestemp allerdings auf zwei Eigenschaften verteilt um flexibler zu sein. public function process() { $date = strftime('%d.%m.%Y'); $time = strftime('%H:%M:%S'); $this-gp['date'] = $date; $this-gp['time'] = $time; return $this-gp; } So kann ich getrennt mit ###value_date### und ###value_time### arbeiten. Danke für die prima Hilfe Gruß Martin ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Timestamp in Formhandler
Hallo Reinhard, danke für Deine Antwort und für die erstklassige Extension. Habe Deine Vorschläge mal durchgetestet. Sie funktionieren beide an sich einwandfrei (für andere Leser: in Zeile data = GP:formhander|formtime ist ein Tippfehler. Muss heißen data = GP:formhandler|formtime). Sie reichen aber nicht so weit, wie ich sie einsetzen möchte. Die benutzerdefinierten Marker aus plugin.Tx_Formhandler.settings.markers lassen sich zwar in den Subparts der (X)HTML-Templates nutzen, sind aber in den Labels von LLL wie es scheint nicht anwendbar, wie etwa die ###value_feldname###-Marker (###value_formtime### liefert ja den unformatierten Timestamp ja in die Labels). Eine solcher Einsatz in LLL wäre aber für saubere Mehrsprachigkeit nötig. Das Zerlegen der Labels in Teil-Strings und ihre Zusammensetzung im Subpart wäre da zwar eine Lösung. Sie verkompliziert die Sache aber sehr und stellt Übersetzer vor große Herausforderungen, da sie dann Teilsätze in durchaus abweichender Syntax lokalisieren müssen, was sehr pflegeintensiv ist. Wüsstest Du einen Weg, wie ich die Werte der benutzerdefinierten Marker in die Labels bekommen kann? Gruß Martin Am 24.03.2011 16:17, schrieb Reinhard Führicht: Am 2011-03-24 12:15, schrieb Martin Ceglarek: Hallo zusammen, möchte gern in Formhandler-E-Mails mit Datums- und Zeitangaben von Formularversand arbeiten. Habe dazu den Marker ###TIMESTAMP### genommen. Finde aber keine Möglichkeit, seinen Wert so mit stdWrap zu formatieren, dass daraus etwa verwertbare Marker (etwa ###DATE### und ###TIME###) für E-Mail-Templates generierbar wären. Mein Kandidat war Interceptor_ParseValues. Der formatiert aber nur floats. Hat jemand einen Tipp für mich? Gruß Martin Ceglarek Hallo Martin Du kannst: * Den Timestamp selber generieren: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = date : U strftime = %d.%m.%Y %H:%M:%S } } * Oder auf den im Formular übertragenen Timestamp zurückgreifen: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = GP:formhander|formtime strftime = %d.%m.%Y %H:%M:%S } } Den Marker ###myTimeStamp### kannst du dann in allen Subparts verwenden. Viele Grüße, Reinhard ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Timestamp in Formhandler
Am 2011-03-25 10:59, schrieb Martin Ceglarek: Hallo Reinhard, danke für Deine Antwort und für die erstklassige Extension. Habe Deine Vorschläge mal durchgetestet. Sie funktionieren beide an sich einwandfrei (für andere Leser: in Zeile data = GP:formhander|formtime ist ein Tippfehler. Muss heißen data = GP:formhandler|formtime). Sie reichen aber nicht so weit, wie ich sie einsetzen möchte. Die benutzerdefinierten Marker aus plugin.Tx_Formhandler.settings.markers lassen sich zwar in den Subparts der (X)HTML-Templates nutzen, sind aber in den Labels von LLL wie es scheint nicht anwendbar, wie etwa die ###value_feldname###-Marker (###value_formtime### liefert ja den unformatierten Timestamp ja in die Labels). Eine solcher Einsatz in LLL wäre aber für saubere Mehrsprachigkeit nötig. Das Zerlegen der Labels in Teil-Strings und ihre Zusammensetzung im Subpart wäre da zwar eine Lösung. Sie verkompliziert die Sache aber sehr und stellt Übersetzer vor große Herausforderungen, da sie dann Teilsätze in durchaus abweichender Syntax lokalisieren müssen, was sehr pflegeintensiv ist. Wüsstest Du einen Weg, wie ich die Werte der benutzerdefinierten Marker in die Labels bekommen kann? Gruß Martin Am 24.03.2011 16:17, schrieb Reinhard Führicht: Am 2011-03-24 12:15, schrieb Martin Ceglarek: Hallo zusammen, möchte gern in Formhandler-E-Mails mit Datums- und Zeitangaben von Formularversand arbeiten. Habe dazu den Marker ###TIMESTAMP### genommen. Finde aber keine Möglichkeit, seinen Wert so mit stdWrap zu formatieren, dass daraus etwa verwertbare Marker (etwa ###DATE### und ###TIME###) für E-Mail-Templates generierbar wären. Mein Kandidat war Interceptor_ParseValues. Der formatiert aber nur floats. Hat jemand einen Tipp für mich? Gruß Martin Ceglarek Hallo Martin Du kannst: * Den Timestamp selber generieren: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = date : U strftime = %d.%m.%Y %H:%M:%S } } * Oder auf den im Formular übertragenen Timestamp zurückgreifen: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = GP:formhander|formtime strftime = %d.%m.%Y %H:%M:%S } } Den Marker ###myTimeStamp### kannst du dann in allen Subparts verwenden. Viele Grüße, Reinhard Hallo Martin, du hast Recht, für diese Anforderung reichen dir solche Mittel nicht. Da hilft es wohl nur mehr einen eigenen Interceptor zu schreiben, der dir den Timestamp formatiert und speichert. Ich habe den Code nicht getestet, also keine Garantie. z.B.: class Tx_Formhandler_Interceptor_Timestamp extends Tx_Formhandler_AbstractInterceptor { public function process() { $date = strftime('%d.%m.%Y %H:%M:%S'); $this-gp['date'] = $date; return $this-gp; } } Die Klasse kannst du als Tx_Formhandler_Interceptor_Timestamp.php im fileadmin ablegen und dann im Formhandler verwenden. Bsp: Klasse liegt in fileadmin/scripts/ plugin.Tx_Formhandler.settings { additionalIncludePaths.1 = fileadmin/scripts/ saveInterceptors.1.class = Interceptor_Timestamp } Der Marker ###value_date### enthält dann das formatierte Datum. Viele Grüße, Reinhard ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Timestamp in Formhandler
Am 2011-03-24 12:15, schrieb Martin Ceglarek: Hallo zusammen, möchte gern in Formhandler-E-Mails mit Datums- und Zeitangaben von Formularversand arbeiten. Habe dazu den Marker ###TIMESTAMP### genommen. Finde aber keine Möglichkeit, seinen Wert so mit stdWrap zu formatieren, dass daraus etwa verwertbare Marker (etwa ###DATE### und ###TIME###) für E-Mail-Templates generierbar wären. Mein Kandidat war Interceptor_ParseValues. Der formatiert aber nur floats. Hat jemand einen Tipp für mich? Gruß Martin Ceglarek Hallo Martin Du kannst: * Den Timestamp selber generieren: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = date : U strftime = %d.%m.%Y %H:%M:%S } } * Oder auf den im Formular übertragenen Timestamp zurückgreifen: plugin.Tx_Formhandler.settings.markers { myTimeStamp = TEXT myTimeStamp { data = GP:formhander|formtime strftime = %d.%m.%Y %H:%M:%S } } Den Marker ###myTimeStamp### kannst du dann in allen Subparts verwenden. Viele Grüße, Reinhard ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german