Hallo Freddy,
Du legst über den Artikelreiter "Konfiguration" im entsprechenden Feld ja die Formularfelder für das Formular fest. Bei einer E-Mail ist es zum Beispiel:
Code: Alles auswählen
###type_email***E-Mail***true***email***text***none***none***none***none***Bitte tragen Sie eine korrekte E-Mail Adresse ein.
Wichtig ist der vierte Teil: Der Name des Formularfeldes, der gleichzeitig als Variable verwendet wird. Hier also
email. Du kannst auch
email_cc_visitor verwenden oder was auch immer, wichtig ist nur, dass der Name für jedes Formularfeld eindeutig ist und nicht mehrfach vorkommt.
Setzen wir das Ganze mal um und Du verwendest jetzt also
Code: Alles auswählen
###type_email***E-Mail***true***email_cc_visitor***text***none***none***none***none***Bitte tragen Sie eine korrekte E-Mail Adresse ein.
Mit dem Namen des Formularfeldes hast Du also den Variablennamen und damit auch die E-Mail-Adresse, die bei den Empfängern zugeordnet werden muss. Das erledigst Du jetzt in der Modulausgabe in diesem Abschnitt:
Code: Alles auswählen
//building array with recipients
$recipients = "CMS_VALUE[100]";
$array_recipients=array_filter(explode("//",$recipients));
Zunächst wird in der Variablen
$recipients das hinterlegt, was Du im Artikelreiter "Konfiguration" festgelegt hast. Also zum Beispiel "
peter@test.de//
winfried@irgendwo.de". Dann wird dieser String anhand des Trenners "//" in ein Array übertragen damit die einzelnen Mailadressen später beim Versand der Mail nacheinander abgearbeitet werden können.
Also musst Du jetzt die vom Seitenbesucher erfasste Mailadresse dort anhängen. Das geht in diesem Beispiel einfach, indem Du den String von
$recipients erweiterst:
Code: Alles auswählen
//building array with recipients
$recipients = "CMS_VALUE[100]";
$recipients.='//'.$email_cc_visitor;
$array_recipients=array_filter(explode("//",$recipients));
Das war es schon.
Allerdings gibt es noch vier Dinge zu berücksichtigen:
1) Was ist, wenn die vom Seitenbesucher eingetragene Mailadresse falsch ist?
Alle eingegebenen Mailadressen in Formularfelder von Typ
type_email werden geprüft, ob sie dem Standardaufbau einer Mailadresse entsprechen. Wenn nicht, wird vor dem Versand der Formulars eine Fehlermeldung ausgeworfen die Angaben zu korrigieren.
2) Was ist, wenn sich der Name des Formularfeldes und damit die Variable mal ändert?
Hier könntest Du Dich mit diesem mehrdimensionalen Array herumschlagen:
Code: Alles auswählen
$array_field_names[]=array($array_field_parts_elements[3],$array_field_parts_elements[0],$array_field_parts_elements[2],$array_field_parts_elements[9],$array_field_parts_elements[1],$array_field_parts_elements[8]);
Lassen wir das. Die einfachere Variante ist, den speziellen Namen und damit die Variable
email_cc_visitor einfach generell festzulegen und damit auch gleich die beiden nächsten Punkte rel. einfach lösen zu können. Wenn Du also eine Kopie der Formulardaten an den Seitenbesucher senden möchtest, verwendest Du im Artikelreiter "Konfiguration" einfach
Code: Alles auswählen
###type_email***E-Mail***true***email_cc_visitor***text***none***none***none***none***Bitte tragen Sie eine korrekte E-Mail Adresse ein.
3) Was ist, wenn $email_cc_visitor leer ist?
Sofern Du die Mailadresse nicht als Pflichtfeld deklariert hast, erfolgt die unter 1) genannte Überprüfung nicht. Da kein Fehler vorliegt, würde
$recipients um "//LEER" erweitert - was natürlich nicht gewünscht ist. Um das zu verhindern, baust Du in der entsprechenden Code-Zeile der Modulausgabe eine Prüfung ein:
Code: Alles auswählen
//building array with recipients
$recipients = "CMS_VALUE[100]";
if($email_cc_visitor!="") $recipients.='//'.$email_cc_visitor;
$array_recipients=array_filter(explode("//",$recipients));
4) Was ist, wenn nicht in jedem Formular die CC-Funktion aktiv sein soll?
Dann verwendest Du einfach den Standard, bzw. der Name darf dann nicht
email_cc_visitor lauten:
Code: Alles auswählen
###type_email***E-Mail***true***email***text***none***none***none***none***Bitte tragen Sie eine korrekte E-Mail Adresse ein.
Dadurch ist die Variable
$email_cc_visitor leer und die unter 3) genannte Prüfung ergibt eine leere Variable. Der Empfängerkreis wird nicht erweitert und die Mail geht nur an die Adressen, die Du im Artikelreiter "Konfiguration" eingetragen hast.
Wichtig: Der Code ist ungetestet. Probier es einfach mal aus.
VG,
Markus