Hallo,
versuche gerade meinen Warenkorb als Bestellung via XForm-Email mit Template an zwei definierte Empfänger zu versenden.
In den Bestätigungsmails sollten idealerweise die bestellten Produkte mit Preisen und Gesamtsummen enthalten sein.
Kann mir jemand einen Tipp geben, wie ich hier sinnvollerweise vorgehe? Muss ich den Umweg über Datenbanktabellen gehen oder sollte ich XForm vergessen und was handgestricktes mit PHPMailer nehmen?
1.000 Dank im Voraus für Eure Unterstützung!
Alex
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/
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/
Re: XForm Warenkorb in Email versenden
So. Habe nochmal das Forum bemüht und im Bereich "Community-Addon" etwas gefunden, was funktioniert:
XForm-Formularbeschreibung:
XForm-Modul - Ausgabe
unterhalb von:
Dieses hier einfügen:
Im XForm Email-Template
/////
Funktioniert soweit wie gewünscht.
Wenn jetzt jemand denkt "Was macht der denn da?" freue ich mich sehr über einen einfacheren bzw. innvolleren Weg!
Gruß,
Alex
In meinem Fall sieht das dann so aus, dass ich die gewünschte Ausgabe der Warenkorbeinträge für die Bestätigungsmail in eine Session-Variable ($_SESSION['warenkorb']) schreibe und dann folgendermaßen vorgehe:wheez hat geschrieben:Ok - habs jetzt mit einem kleinen Workarround gelöst. Wenns Einfacher geht - lasst es mich wissen....
in die xForm Formularbeschreibung:
und in die xForm Modulausgabe folgendes nach $form_data = 'REX_VALUE[3]'; eingefügt:Code: Alles auswählen
hidden|user_id|{user_id}|
der Platzhalter {user_id} wird also in der Modulausgabe mit dem eigentlichen Wert ersetzt.Code: Alles auswählen
$user_id = 0; if (isset($REX['COM_USER']) && is_object($REX['COM_USER'])){ $user_id = $REX["COM_USER"]->getValue("id"); } $form_data = str_replace('{user_id}',$user_id,$form_data);
XForm-Formularbeschreibung:
Code: Alles auswählen
hidden|warenkorb|{warenkorb_session}|
XForm-Modul - Ausgabe
unterhalb von:
Code: Alles auswählen
$form_data = 'REX_VALUE[3]';
Code: Alles auswählen
$warenkorb = 0;
if (isset($_SESSION['warenkorb'])){
$warenkorb = $_SESSION['warenkorb'];
}
$form_data = str_replace('{warenkorb_session}',$warenkorb,$form_data);
Code: Alles auswählen
###warenkorb###
Funktioniert soweit wie gewünscht.
Wenn jetzt jemand denkt "Was macht der denn da?" freue ich mich sehr über einen einfacheren bzw. innvolleren Weg!
Gruß,
Alex
Re: XForm Warenkorb in Email versenden
na hi - ich sitze auch gerade an dem problem, will nur zwei unetrschiedliche mails verschicken. habe nun auch ewig gesucht und versuche gerade in der xform-class-hidden dies anzupassen:
will hierbei nur das erste zeichen abgreifen, wenns phps $ ist, wirds wohl ne variable sein und kann dann ja so bleiben. geht aber leider nicht... was is falsch, waere schoen, wenn man einfach so viele variable versteckt und ueber kreuz uebergeben koennte. ben
ben
Code: Alles auswählen
public function setValue($value)
{
if ($this->getElement(3) == 'REQUEST' && isset($_REQUEST[$this->getName()])) {
$this->value = stripslashes(rex_request($this->getName()));
} elseif ($this->getElement(3,0) == '$') {
$this->value = $this->getElement(3);
} else {
$this->value = $this->getElement(2);
}
}
ben
Re: XForm Warenkorb in Email versenden
also, meinte damit, ich wollte die funktion setvalue um das elseif erweitern, aber die sache mit dem ersten zeichen des elementes(3) passt nich´....
Re: XForm Warenkorb in Email versenden
eine andere moeglichkeit waere ja die:
php|artikelliste|<?php echo $_SESSION['value'];?>
dies wird beim vorgefertigtem submit zwar als platzhalter vorgegeben, aber nicht ausgegeben....
versuch´s weiter
php|artikelliste|<?php echo $_SESSION['value'];?>
dies wird beim vorgefertigtem submit zwar als platzhalter vorgegeben, aber nicht ausgegeben....
versuch´s weiter
Re: XForm Warenkorb in Email versenden
na hi - da die letzten versuche meinerseits garnicht funktionieren wollten, habe ich es mit dem workaround versucht. das komische ist, er ersetzt mir das value des hiddenfeldes nicht. wenn ich am ende des scriptes die variable $xform->getForm(); mit str_replace umwandele, ersetzt er mir das value zwar, aber in der mail kommt dann wieder {liste} (meine zu ersetztende variable) an.
weiss einer warum? habt dank - ben
weiss einer warum? habt dank - ben
Re: XForm Warenkorb in Email versenden
Weil du erst ersetzt, wenn die E-Mail schon verschickt ist.
Mit echo $xform->getForm(); werden sämtliche Formulardefinitionen (inkl der actions) abgearbeitet und danach wird das Formular ausgegeben. Was du machen könntest, wäre das Formular in PHP aufzubauen und die Sessionwerte nach Submit in eine versteckte Textarea zu kippen. Den Inhalt der Textarea kannst du dann in einem E-Mail Template wie gewohnt ausgeben.
Mit echo $xform->getForm(); werden sämtliche Formulardefinitionen (inkl der actions) abgearbeitet und danach wird das Formular ausgegeben. Was du machen könntest, wäre das Formular in PHP aufzubauen und die Sessionwerte nach Submit in eine versteckte Textarea zu kippen. Den Inhalt der Textarea kannst du dann in einem E-Mail Template wie gewohnt ausgeben.
Re: XForm Warenkorb in Email versenden
hi ingo & hab dank, ich dachte nur, der workaround von oben loest genau das problem, im email-template daten mitzuschicken. wie gesagt, ich mache derzeit beides, ersetzen von form_data & xform. im quellcode wird auch das value richtig angezeigt.... ich schnalls nich...
ben
ben
- Jan.Kristinus
- Admin
- Beiträge: 2166
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Frankfurt
- Kontaktdaten: ICQ Website
Re: XForm Warenkorb in Email versenden
ich würde an den verschiedenen stellen nicht etwas reinfriemeln sondern eine ein eigene xform-class bauen.. das ist das einfachste und am besten zu kontrollieren. das Prinzip dieser Klassen ist überschaubau - einfach z.B. die Text Klasse nehmen und umbauen.
lg
Jan
lg
Jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Re: XForm Warenkorb in Email versenden
habt dank - ich honk habe es (str_replace) zuweit unten reingesetzt, deshalb hat er es nicht genommen. funktioniert jetzt, allerdings kann ich die einzelnen artikel nicht via html oder sonstwie zeilenweise ausgeben.... aber die daten werden uebernommen.
ben
ben