doform4 - ausgabe für html-mail

Wie verwendet man Module oder Aktion und passt diese an.

doform4 - ausgabe für html-mail

Beitragvon neo77 » 3. Sep 2011, 12:40

wie kann man die einzelnen e_mail-Zeilen bei der Ausgabe seperat ansprechen bzw. ausgeben um sie für die html-mail ausgabe zu plazieren ?

ich bräuchte statt der gesamten ausgabe des arrays die Formulareingaben seperat (sollte dann zb. el_1 bis el_4 als Rechnungsanschrift, el_4 bis el_8 als Lieferanschrift in der html-mail ausgegeben und plaziert werden)

verwende die aktuellste version von doform4 - ist soweit umgebaut dass aus dem Merkzettel+Formular eine Anfrage oder Bestellung als html-mail versendet wird...funkt auch alles, nur an dem angesprochenen Problem bin ich leider bisher gescheitert

wäre sehr dankbar für Hilfestellung und Tipps
neo77
 
Beiträge: 3
Registriert: 9. Feb 2011, 00:31

Re: doform4 - ausgabe für html-mail

Beitragvon Skerbis » 5. Sep 2011, 14:14

Hi! Zur Strukturierten Ausgabe verwende Fieldsets und Headlines.
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: doform4 - ausgabe für html-mail

Beitragvon neo77 » 6. Sep 2011, 12:00

Danke für die Antwort, aber ich bräuchte die Möglichkeit die Werte aus der Formulareingabe einzeln auszugeben damit ich sie dann genau plazieren kann - und nicht alle eingaben in einer Liste auszugeben.

es soll dann zb. nur die 1. Adresse (Firma/Straße/PLZ/Ort) in der html-mail links oben in den Briefkopf ausgegeben werden, die Lieferadresse rechts oben, usw.
...
fieldstart|Kontaktdaten
text|Ansprechpartner|1|||checkfield
text|Funktion|1|||name
text|E-Mail|1|||sender
text|Telefon||||tel
text|Telefax||||tel
trennelement|
text|Einrichtung/Firma/Name|1|||
text|Straße / Hausnummer|1|||
text|PLZ|1|||plz
text|Ort|1|||
fieldend|
trennelement|
lieferstart|Lieferadresse
info|falls abweichend von der Rechnungsanschrift
text|Einrichtung/Firma/Name|
text|Straße / Hausnummer|0|||
text|PLZ|0|||plz
text|Ort|0|||
lieferend|
trennelement|
...


so wie ich das verstanden hab wird nach der validierung der Eingaben dann in folgenden Codeabschnitt die Ausgabe generiert

Code: Alles auswählen
  // HTML-AUSGABE und Plaintext erstellen

      $key = preg_replace('#el_#','',$k);
       if ($k != $formname.'submit' && $k != $formname.'send' &&
          (!isset ($AFE[$key][5]) || $AFE[$key][5] != 'captcha') &&
          stripslashes($v) != '' && isset ($AFE[$key][1]) &&
          !in_array($AFE[$key][0], $ignore))
      {
        $v = strip_tags($v);


        switch ($AFE[$key][0])
        {
          case "fieldstart":
              $mailbodyhtml.='<h4>'.stripslashes($v).'</h4>';
              $mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
          case "headline":
              $mailbodyhtml.='<h1>'.stripslashes($v).'</h1>';
              $mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
        case "lieferstart":
              $mailbodyhtml.='<h4>'.stripslashes($v).'</h4>';          
              $mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
          default:
             $mailbodyhtml.= '<span class="slabel">'.$fcounter.'. '.$AFE[$key][1].": </span>".stripslashes($v).'<br />';
          $kontakthtml.= '<span class="slabel">'.stripslashes($k).": </span>".stripslashes($v).'<br />';
             $mailbody .= $xcounter.'. '.$AFE[$key][1].": ".stripslashes($v)."\n"; 
             $fcounter++;
             $xcounter++;
        }
      }
    }
  }


  // HTML-EMAIL JA /NEIN
  if ("REX_VALUE[12]" == 'ja')
  {
    $mail->IsHTML(true);
   $mail->Body = $doformhtml.$products_mail.$doformhtmlbody.nl2br($mailbodyhtml).$kontakthtml.$doformhtmlfooter;
    $mail->AltBody = $mailbody.$products_mail.$nonhtmlfooter;
  }
  else
  {
    $mail->Body = $mailbody.$products_mail.$nonhtmlfooter;
  }


die Frage is wie ich hier die einzelnen email-Zeilen seperat nach namen (el_x) ausgeben kann (wäre die einfachste Lösung, da das Formular nur dafür verwendet wird und sich die nummerierung nicht mehr ändert)
$k gibt hier ja die zeilennamen el_X aus...$v die Formulareingaben ...aber wie die Abfrage passend einbaue check ich leider nicht...meine PHP-Kenntnisse sind dazu leider zu mies um das hinzubekommen
neo77
 
Beiträge: 3
Registriert: 9. Feb 2011, 00:31

Re: doform4 - ausgabe für html-mail

Beitragvon neo77 » 9. Sep 2011, 06:58

habs übrigens gelöst, falls es wem interessiert - ist allerdings mit vorsicht zu genießen falls es jemand verwenden möchte...code is sicherlich verbesserungswürdig und funkt nicht wenn man das kopiert und einfügt ohne genaue Anpassung an das jeweilige Formular

kurze Erklärung: hab noch ein switch eingebaut bei case "text" um die text-Eingaben nach namen (el_x) zu bekommen...also für jedes Formular je nach Eingabe-Feldern und Reihenfolge anzupassen

$doformhtml, $doformhtml1 bis 3 usw. sind jeweils die html code stücke für die html-mail
die Eingaben wie Lieferadresse ($ladresse) usw. , products_mail (Merkzettel) werden dann bei der mail ausgabe mit passenden html dazwischen eingefügt (Reihenfolge wichtig)
$mailbodyhtml gibt dann alle eingaben nochmal aus (bei meiner Formatierung auf der 2. seite mit Anmerkung usw.) ...

das ganze als pdf-Version (am besten als attachment mitschicken) wär noch fein gewesen bzw. text-mail + pdf wäre wohl ansich eine allgmein brauchbare variante - aber hab dafür keine Lösung gefunden - erfüllt auch so seinen Zweck

Code: Alles auswählen
// HTML-AUSGABE und Plaintext erstellen

      $key = preg_replace('#el_#','',$k);
       if ($k != $formname.'submit' && $k != $formname.'send' &&
          (!isset ($AFE[$key][5]) || $AFE[$key][5] != 'captcha') &&
          stripslashes($v) != '' && isset ($AFE[$key][1]) &&
          !in_array($AFE[$key][0], $ignore))
      {
        $v = strip_tags($v);


        switch ($AFE[$key][0])
        {
          case "fieldstart":
              $mailbodyhtml.='<h4>'.stripslashes($v).'</h4>';
              $mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
          case "headline":
              $mailbodyhtml.='<h1>'.stripslashes($v).'</h1>';
              $mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
        case "lieferstart":
              $mailbodyhtml.='<h5>'.stripslashes($v).'</h5>';
              $mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
        case "select":
            $auswahl.= '<h1 class="h1">'.stripslashes($v).'</h1>';
            $mailbodyhtml.= '<h1 class="h1">'.stripslashes($v).'</h1>';             
              $mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
              break;
        case "text":                 
           switch ($k) {
              case "el_18":
                $adresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;
              case "el_19":
                $adresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;
           case "el_20":
                $adresse.= '<span class="adresse">'.stripslashes($v).'</span> - ';
                break;
              case "el_21":
                $adresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;          
              case "el_26":
                $ladresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;
              case "el_27":
                $ladresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;
           case "el_28":
                $ladresse.= '<span class="adresse">'.stripslashes($v).'</span> - ';
                break;
              case "el_29":
                $ladresse.= '<span class="adresse">'.stripslashes($v).'</span><br /><hr />';
                break;
           case "el_12":
                $eadresse.= '<span class="adresse">'.stripslashes($v).'</span> ';
                break;
           case "el_13":
                $eadresse.= '<span class="adresse">( '.stripslashes($v).' )</span><br /><hr />';
                break;
              }          
          default:
             $mailbodyhtml.= '<span class="slabel">'.$AFE[$key][1].": </span>".stripslashes($v).'<br />';
             $mailbody .= $xcounter.'. '.$AFE[$key][1].": ".stripslashes($v)."\n"; 
             $fcounter++;
             $xcounter++;
        }
      }
    }
  }

  // HTML-EMAIL JA /NEIN
  if ("REX_VALUE[12]" == 'ja')
  {
    $mail->IsHTML(true);
   $mail->Body = $doformhtml.$auswahl.$doformhtml1.$adresse.$eadresse.$doformhtml2.$ladresse.$doformhtml3.$products_mail.$doformhtmlbody.nl2br($mailbodyhtml).$doformhtmlfooter;
    $mail->AltBody = $mailbody.$products_mail.$nonhtmlfooter;
  }
  else
  {
    $mail->Body = $mailbody.$products_mail.$nonhtmlfooter;
  }
neo77
 
Beiträge: 3
Registriert: 9. Feb 2011, 00:31


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste