[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • YForm Absender einstellen
Seite 1 von 1

YForm Absender einstellen

Verfasst: 16. Nov 2016, 23:58
von Tobias Krais
Liebe Community,

in YForm nutze ich ein E-Mail Template und möchte als Absender die E-Mailadresse des ausfüllenden Webseitenbesuchers einsetzen. Deshalb schreibe ich in das Feld "Absender E-Mail" den Wert REX_YFORM_DATA[field="email"]. Die E-Mail kommt an und als Absender steht der im PHP-Mailer Addon gesetzte Absender. Kennt ihr das Problem? Hat jemand vielleicht eine Lösung?

Liebe Grüße,

Tobias

Re: YForm Absender einstellen

Verfasst: 21. Jan 2017, 04:02
von megpro
Hallo,

diese Frage habe ich auch. Und auch noch keine Lösung. Kennt jemand eine?

Gruß Jens

Re: YForm Absender einstellen

Verfasst: 21. Jan 2017, 14:30
von Tobias Krais
Hi Jens,

hier geht's zur Lösung: https://github.com/yakamara/redaxo_yform/issues/224

Liebe Grüße,

Tobias

Re: YForm Absender einstellen

Verfasst: 7. Mär 2017, 17:03
von frood
Moin,
da ich mit dieser Lösung nicht zum Ziel gekommen bin hier eine andere sehr einfache Lösung, die bei mir funktioniert wie gewünscht.

yForm Version 2.1, Datei redaxo_yform/plugins/email/lib/yform_email_template.php ab Zeile 53 (Änderungen/Ergänzungen sind mit MOD 1 und MOD 2 gekennzeichnet):

Code: Alles auswählen

foreach($template as $k => $v) {
   foreach($er as $er_key => $er_value) {
      $template[$k] = str_replace('###' . $er_key . '###', $er_value, $template[$k]);
      $template[$k] = str_replace('***' . $er_key . '***', urlencode($er_value), $template[$k]);
      $template[$k] = str_replace('+++' . $er_key . '+++', self::makeSingleLine($er_value), $template[$k]);
      // MOD 1			
      // wenn Email-Angabe aus Formular (bei mir heißt der Wert "email")
      if($er_key=='email'){ 
          // ... dann als Absender definieren
          $mailfrom=$er_value;
      }
      // Ende MOD 1			
   }
   $template[$k] = rex_var::parse($template[$k],'','yform_email_template', $er);
}
... und zweite Änderung (ab Zeile 77):

Code: Alles auswählen

// MOD 2
// Gibt es eine Mail-Adresse aus dem Formular?
if($mailfrom!=''){
   // ... dann als Absender einsetzen
   $template['mail_from']=$mailfrom;
}else{
   // sonst Absender aus Email-Template (standard)
   $template['mail_from'] = rex_file::getOutput(rex_stream::factory('yform/email/template/'.$template['name'].'/mail_from', $template['mail_from']));
}
// Ende MOD 2
Das ist alles! REX ON!

Re: YForm Absender einstellen

Verfasst: 7. Mär 2017, 17:14
von RexDude
Keine gute Idee Frood. Wenn du oder jemand anderes in Zukunft auf den Update Button klickt sind deine Änderungen weg und deine Website l#uft unter Umständen nicht wie gewünscht.

Re: YForm Absender einstellen

Verfasst: 7. Mär 2017, 17:54
von frood
Jo, ist mir klar. Ich mache mir deshalb immer Backups von geänderten Dateien und ein Protokoll für jedes Projekt, welche Dateien ich selbst geändert habe, damit ich meine Änderungen nach Updates übertragen kann. Ist nicht sehr elegant, aber funktioniert :wink:

Re: YForm Absender einstellen

Verfasst: 7. Mär 2017, 18:22
von RexDude
Ok akzeptiert :D