[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XForm: E-Mail-Templates? - 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/
Zuperfly
Beiträge: 214
Registriert: 17. Mär 2006, 18:42

XForm: E-Mail-Templates?

2. Mai 2008, 11:38

Ich habe das (brand-)aktuelle XForm-AddOn für Redaxo 4.1 installiert - erstmal vielen Dank dafür, doch leider ist (ausser für die Felddefinitionen) wieder keine Hilfe dabei.. was sind denn die E-Mail-Templates, die ich im Backend anlegen kann?

Scheinbar funktionieren die alten XForms auf meiner Site nun nicht mehr korrekt (ich habe das Modul aktualisiert), so zeigt z.B. das Formular für's Passwort versenden ("Passwort vergessen?"-Funktion) im Debug-Modus folgendes an:

Code: Alles auswählen

Query: select * from rex_xform_email_template where name="send_password"
- das kommt mir doch ein wenig seltsam vor.. Im Modul lauten die Zeilen für die entsprechende Aktion wie folgt:

Code: Alles auswählen

action|readtable|rex_com_user|email|email
action|db2email|send_password|email
Wo muss ich denn nun den Fehler suchen? Oder hat das etwas mit diesen E-Mail-Templates zu tun? Da sind ja nach der Installation noch keine angelegt..

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

2. Mai 2008, 12:48

hi,

erstmal sorry, dass mal wieder keine richtige doku dabei ist, aber ich hoffe da auf unterstützung von anderen.

wegen Deinem Problem. Das liegt wohl wirklich an dem email Template. Da muss Du zunächst Eins anlegen und den key "send_password" vergeben.

1) action|readtable|rex_com_user|email|email
2) action|db2email|send_password|email

sind 2 aktionen die nach den ganzen validierungen ausgeführt werden. readtable liest nochmal alle daten des users ein, anhand der unique email..
2) verschickt eine email mit dem email template "send_password" an das email label ..

ungefaehr verstanden ?

lg

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

Zuperfly
Beiträge: 214
Registriert: 17. Mär 2006, 18:42

2. Mai 2008, 14:08

Vielen Dank. Das mit dem "Key" ist ein bisschen verwirrend, ich hatte da an Zahlen gedacht ...

Nach dem Anlegen des Templates stimmt beim Query nun immerhin die Tabelle:

Code: Alles auswählen

Query: SELECT * from rex_com_user WHERE
Affected Rows: 0
Error Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Error Code: 1064
..aber das mit der WHERE-Bedingung bekomme ich nicht hin. Was muss denn dann im Modul unter "Was soll passieren?" ausgewählt werden? Und muss ich unter "Where Klausel angeben" etwas eintragen? Danke!

Übrigens bekomme ich den Haken bei "Daten zu Beginn aus der Datenbank holen" nicht weg, der ist immer wieder angehakt, egal, was ich auswähle. Nach dem Speichern ist er immer wieder gesetzt...

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

2. Mai 2008, 14:22

hi,

ich gehe mal davon aus, dass du wegen der community nachfragst.. eigentlich wuerde ich an deiner stelle noch ein wenig warten - aber ich beschreibe das trotzdem mal kurz

In das Feld "Where Klausel angeben"

Code: Alles auswählen

<?php 

$xform->setObjectparams("main_where",'login="###login###"');

?>

Ich schreibe auch noch auf, was Du bei Profilveränderungen eintragen musst, also Daten eines Users wenn er eingeloggt ist.

Code: Alles auswählen

<?php 

$user_id = 0;
if (isset($REX["COM_USER"]) && is_object($REX["COM_USER"])) $user_id = $REX["COM_USER"]->getValue("id");
$xform->setObjectparams("main_where","id=$user_id");

?>
Aber im Moment will ich auf die Communityfeatures nicht komplett eingehen, das wäre eine längere Geschichte.. Kommt dann, sobald ich mit dem Community AddOn durch bin.

lg

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

Zuperfly
Beiträge: 214
Registriert: 17. Mär 2006, 18:42

2. Mai 2008, 14:46

Danke. Es ging eigentlich nur darum, einem (aktuell noch nicht angemeldeten) User aus der rex_com_user-Tabelle sein Passwort für den Login zukommen zu lassen (in dem er seine E-Mail-Adresse angibt und das entsprechende Passwort dorthin geschickt wird).

Ich hab's nun auch hinbekommen, allerdings schaut der Query im Debug-Modus nun wieder so aus:

Code: Alles auswählen

Query: select * from rex_xform_email_template where name="send_password"
Affected Rows: 1
Das verstehe ich noch nicht so ganz..

Im Modul habe ich es bei

Code: Alles auswählen

action|readtable|rex_com_user|email|email
action|db2email|send_password|email
belassen und unter "Was soll passieren?" habe ich "E-Mail versenden und Datenbank abfragen" ausgewählt. Der Haken bei "Daten zu Beginn aus Datenbank holen ist wie gesagt immer gesetzt. Nun wird das Passwort mittels des zuvor angelegten E-Mail-Templates "send_password" an die eingegebene E-Mail-Adresse verschickt.

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

2. Mai 2008, 14:52

wenns klappt, dann ist ja schonmal gut.

select * from rex_xform_email_template where name="send_password"

heisst nur, dass die xform das template aus der datenbank holt. mehr nicht.. und das ist auch gut, dass es dann ein template findet.

lg

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

Zurück zu „Allgemeines [R4]“