[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XForm - Datum in verschickter E-Mail formatieren - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
lci
Beiträge: 239
Registriert: 18. Aug 2006, 10:47

XForm - Datum in verschickter E-Mail formatieren

24. Feb 2013, 16:40

Hallo Zusammen,

ich erzeuge im Frontend mittels XForm via:

Code: Alles auswählen

date|eventdate|Date:|2012|2013|[format: d-m-Y]
einen Datums Select.

Leider wird die Formatierung in der versendeten E-Mail nicht beachtet - sprich
in der E-Mail steht dann etwas in der Art : Datum: 20130104 - weiss jemand
wo ich das ändern kann?

Vielen Dank
P.

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: XForm - Datum in verschickter E-Mail formatieren

25. Feb 2013, 22:55

Hallo P.,

leider ist das bisher in der XForm nicht vorgesehen. D.h. du müsstest es direkt
in der Klasse "date" in der XForm selber ändern. Und zwar unter

/addons/xform/classes/value/class.xform.date.inc.php

und dort müsste es sowas in der Art geben:

$this->params["value_pool"]["email"][$this->getName()] = $isodatum;

und statt $isodatum setzt Du z.B.

$this->params["value_pool"]["email"][$this->getName()] = " $day $month $year";

müsste der in der neuesten XForm so gehen. (Kann sein, dass dies bei älteren
Version anders sein muss, aber sehr wahrscheinlich sehr ähnlich)

lg

Jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - Datum in verschickter E-Mail formatieren

26. Feb 2013, 02:25

Es gibt da schon einen eleganten Weg.

Ich mach das über die Action "copy_value", mit der ich den Wert in ein weiteres Feld speicher und dann mit einer weiteren Action "preg_replace", die einfach die preg_replace-Funtkion mit ihren Parametern aufruft und den Inhalt des Feldes umordnet. In der E-Mail nutze ich dann natürlich das neue Feld.

Damit bin ich auch bei zukünftigen Updates von XForm auf der sicheren Seite.
Zuletzt geändert von Xong am 26. Jul 2013, 17:40, insgesamt 1-mal geändert.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: XForm - Datum in verschickter E-Mail formatieren

26. Feb 2013, 07:44

das ist natürlich noch cooler :) .. wäre ich gar nicht drauf gekommen..
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm - Datum in verschickter E-Mail formatieren

26. Jul 2013, 17:26

hey xong,
würdest du deine action "preg_replace" hier posten? das wär fein.

danke lg steri

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - Datum in verschickter E-Mail formatieren

26. Jul 2013, 20:16

Hi!
steri hat geschrieben:würdest du deine action "preg_replace" hier posten? das wär fein.
Ich hab da nix fertiges (mehr). Von welchem Format in welches möchtest du denn umwandeln?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm - Datum in verschickter E-Mail formatieren

27. Jul 2013, 11:25

hey xong,
ich möchte von Y-m-d auf d-m-Y umformatieren.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - Datum in verschickter E-Mail formatieren

27. Jul 2013, 12:21

Hi!
steri hat geschrieben:ich möchte von Y-m-d auf d-m-Y umformatieren.

Code: Alles auswählen

action|preg_replace|label_datum|~(\d+)-(\d+)-(\d+)|\3-\2-\1
Die Action muss also ungefähr so aussehn:

Code: Alles auswählen

$this->params['value_pool']['sql'][$this->getElement(2)] = preg_replace($this->getElement(3), $this->getElement(4), $this->params['value_pool']['sql'][$this->getElement(2)]); 
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm - Datum in verschickter E-Mail formatieren

30. Jul 2013, 20:44

mhm da bekomme ich nun die fehlermeldung
preg_replace No ending delimiter '~'

aber irgendwie haut das mit dem copy_value auch nicht hin
ich habs so im xform stehen:
action|copy_value|geburtsdatum|geburtsdatum2

müsste jetzt nicht im email wenn ich im email template ###geburtsdatum2### schreibe, auch der kopierte wert ausgegeben werden. das bleibt bei mir leer - oder muss ich da zusätzlich ein hidden feld machen?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - Datum in verschickter E-Mail formatieren

30. Jul 2013, 21:14

steri hat geschrieben:mhm da bekomme ich nun die fehlermeldung
preg_replace No ending delimiter '~'
Fehler meinerseits. Den musst du noch hinzufügen.
steri hat geschrieben:müsste jetzt nicht im email wenn ich im email template ###geburtsdatum2### schreibe, auch der kopierte wert ausgegeben werden. das bleibt bei mir leer - oder muss ich da zusätzlich ein hidden feld machen?
Ja. Sonst wird der Wert ja quasi ins Leere kopiert.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: XForm - Datum in verschickter E-Mail formatieren

30. Jul 2013, 21:45

Schon mal die EPs XFORM_EMAIL_BEFORE_REPLACEVARS bzw. XFORM_EMAIL_BEFORE_SEND erwogen? Scheint mir ein deutlich weniger dornenreicher Weg..

Oder: direkt per rex_xform_action_callback vor dem Abschicken den value_pool nochmal zur Brust nehmen..
vg, Jan

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm - Datum in verschickter E-Mail formatieren

30. Jul 2013, 22:12

ich steh da grad an - auch wenn ich ein ein hidden feld hinzufüge - bleibt der wert für geburtsdatum2 leer
ist die reihefolge relevant?

Code: Alles auswählen

date|geburtsdatum|Geburtsdatum|1920|2015|###D###-###M###-###Y###|

hidden|geburtsdatum2|
action|copy_value|geburtsdatum|geburtsdatum2
egal was zuerst steht - es klappt nicht.

@jan - danke für den hinweis
das wäre dann das hier:
https://github.com/dergel/redaxo4_xform ... te.inc.php
ich kenn mich leider mit den EPs nicht so gut aus - da fehlt mir der ansatz

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: XForm - Datum in verschickter E-Mail formatieren

30. Jul 2013, 22:25

http://www.redaxo.org/de/doku/extension ... im-detail/ .. lohnt, weil wenn einmal gerafft kann man plötzlich ganz andere Sachen wuppen.

Ansonst eben per callback action.. hat den vorteil kein regex zu brauchen, weil du direkt Zugriff auf das Werte array hast..

Code: Alles auswählen

objparams = array ( 
...

['value_pool'] => array(
  ['email'] => // ARRAY - form values
  ['sql']   => // ARRAY - form values for sql
)

...
)
vg, Jan

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm - Datum in verschickter E-Mail formatieren

31. Jul 2013, 12:05

ich habe jetzt doch die klasse rex_xform_date_formatiert wie jan oben geschrieben hat direkt geändert bzw. eine zusäztzliche erstell.
das mit den EPs muss ich mir mal ansehen wenn zeit ist.
ich danke euch für die hilfe und inputs!

Zurück zu „Allgemeines [R4]“