[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XForm Warenkorb in Email versenden - 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/
alexwenz
Beiträge: 44
Registriert: 22. Aug 2013, 10:21

XForm Warenkorb in Email versenden

2. Apr 2014, 23:07

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

alexwenz
Beiträge: 44
Registriert: 22. Aug 2013, 10:21

Re: XForm Warenkorb in Email versenden

4. Apr 2014, 10:37

So. Habe nochmal das Forum bemüht und im Bereich "Community-Addon" etwas gefunden, was funktioniert:
wheez hat geschrieben:Ok - habs jetzt mit einem kleinen Workarround gelöst. Wenns Einfacher geht - lasst es mich wissen....

in die xForm Formularbeschreibung:

Code: Alles auswählen

hidden|user_id|{user_id}| 
und in die xForm Modulausgabe folgendes nach $form_data = 'REX_VALUE[3]'; eingefügt:

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);
der Platzhalter {user_id} wird also in der Modulausgabe mit dem eigentlichen Wert ersetzt.
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:

XForm-Formularbeschreibung:

Code: Alles auswählen

hidden|warenkorb|{warenkorb_session}| 

XForm-Modul - Ausgabe

unterhalb von:

Code: Alles auswählen

$form_data = 'REX_VALUE[3]';
Dieses hier einfügen:

Code: Alles auswählen

$warenkorb = 0;
if (isset($_SESSION['warenkorb'])){
  $warenkorb = $_SESSION['warenkorb'];
}
$form_data = str_replace('{warenkorb_session}',$warenkorb,$form_data);
Im XForm Email-Template

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

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

17. Sep 2014, 19:14

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:

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);

    }

  }
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

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

17. Sep 2014, 20:05

also, meinte damit, ich wollte die funktion setvalue um das elseif erweitern, aber die sache mit dem ersten zeichen des elementes(3) passt nich´....

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

17. Sep 2014, 21:11

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 :arrow:

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

22. Sep 2014, 12:21

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

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: XForm Warenkorb in Email versenden

22. Sep 2014, 14:08

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.

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

22. Sep 2014, 14:39

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

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

Re: XForm Warenkorb in Email versenden

25. Sep 2014, 11:00

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
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: XForm Warenkorb in Email versenden

25. Sep 2014, 12:39

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

Zurück zu „Allgemeines [R4]“