Werbung / Banner buchen
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Widerruftext wird über "order_mail.html nicht mitgesendet

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Hallo,

    Ich möchte den Widerruftext in der "order_mail.html" direkt ausgeben, leider wird der aber nicht mitgesendet. Die Dateien "widerruf.html" und "widerruf.txt" sind im Template vorhanden und ausgefüllt.

    In der "order_mail.html" steht [SIGNATUR] und [WIDERRUF] drin ...

    In der "xtc_php_mail.inc.php" habe ich die Slashes entfernt:

    Code: PHP  [Auswählen]
      $mail->AddAttachment($path_to_attachement);                     // add attachments
      $mail->AddAttachment($path_to_more_attachements);               // optional name

    Die Signatur wird eingebunden, der Widerruf nicht ...

    Was mache ich falsch?

    Grüsse aus der Hauptstadt
    Hardy

    Linkback: https://www.modified-shop.org/forum/index.php?topic=15979.0

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #1 am: 13. Oktober 2011, 15:02:02
    Hallo Hardy,

    Damit das funktioniert, muss in der Datei "order_mail.html(txt)" an der gewünschten Stelle der Eintrag

    Code: PHP  [Auswählen]
    [SIGNATUR]

    und / oder

    Code: PHP  [Auswählen]
    [WIDERRUF]

    stehen, dann wird der Platzhalter entsprechend durch den Text in der Datei "signatur.html(txt)" bzw. "widerruf.html(txt)" ersetzt

    Evtl. noch den Cache löschen.

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #2 am: 13. Oktober 2011, 16:50:01
    Hallo Ben,

    [SIGNATUR] und / oder [WIDERRUF] ist eingefügt, Widerruf wird trotzdem nicht mitgesendet ... auch das löschen des Cache hat nichts gebracht ...

    Hat jemand noch einen Tip, wo ich anfassen muss?

    Grüsse
    Hardy

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #3 am: 13. Oktober 2011, 17:26:50
    Die Dateien "widerruf.html(txt)" liegen im richtigem Verzeichnis:

    Code: PHP  [Auswählen]
    templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/

    Gruß h-h-h

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #4 am: 13. Oktober 2011, 17:35:49
    Du verwendest modified eCommerce Shopsoftware 1.05 SP1a ?!
    Nimm mal die "xtc_php_mail.inc.php" aus modified eCommerce Shopsoftware 1.05.
    Wird die eMail bei Dir als html oder Text dargestellt?

    Gruß h-h-h

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #5 am: 13. Oktober 2011, 17:52:30
    Hallo h-h-h,

    ja, ich verwende modified eCommerce Shopsoftware 1.05 SP1a ... habe in WinMerge die beiden Dateien verglichen ... sind identisch ...

    ich stelle meine Mails im Thunderbird als html-Mails dar ...
    und ja, die "widerruf.html(txt)" liegen im richtigen Verzeichnis ...

    Nur eine Idee, könnte es sein, daß im folgenden Code aus der "/inc/xtc_php_mail.inc.php" der Aufruf für den Widerruf fehlt? Denn die Signatur wird einwandfrei eingebunden ...

    Code: PHP  [Auswählen]
            if (EMAIL_USE_HTML == 'true') // set email format to HTML
                    {
                    $mail->IsHTML(true);
                    $mail->Body = $message_body_html.$html_signatur;//DPW Signatur ergänzt.
                    // remove html tags
                    $message_body_plain = str_replace('<br />', " \n", $message_body_plain.$txt_signatur);//DPW Signatur ergänzt.
                    $message_body_plain = strip_tags($message_body_plain);
                    //BOF  - web28 - 2010-07-15 -  html_entity_decode
                    $message_body_plain = html_entity_decode($message_body_plain, ENT_NOQUOTES, $charset);
                    //EOF  - web28 - 2010-07-15 -  html_entity_decode
                    $mail->AltBody = $message_body_plain;
            } else {
                    $mail->IsHTML(false);
                    //remove html tags
                    $message_body_plain = str_replace('<br />', " \n", $message_body_plain.$txt_signatur);//DPW Signatur ergänzt.
                    $message_body_plain = strip_tags($message_body_plain);
                    //BOF  - web28 - 2010-07-15 -  html_entity_decode
                    $message_body_plain = html_entity_decode($message_body_plain, ENT_NOQUOTES, $charset);
                    //EOF  - web28 - 2010-07-15 -  html_entity_decode
                    $mail->Body = $message_body_plain;
            }

            $mail->From = $from_email_address;
            $mail->Sender = $from_email_address;
            $mail->FromName = $from_email_name;
            $mail->AddAddress($to_email_address, $to_name);
            if ($forwarding_to != '')
                    $mail->AddBCC($forwarding_to);
            $mail->AddReplyTo($reply_address, $reply_address_name);

            $mail->WordWrap = 50; // set word wrap to 50 characters
            $mail->AddAttachment($path_to_attachement);                     // add attachments
            $mail->AddAttachment($path_to_more_attachements);               // optional name                                          

            $mail->Subject = $email_subject;

    Grüsse
    Hardy

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #6 am: 13. Oktober 2011, 17:56:40
    Bitte zeige mir mal die ganze Datei, also wenn ich hier die Dateien merge sind die auf keinen Fall identisch.

    [...]
    Nur eine Idee, könnte es sein, daß im folgenden Code aus der "/inc/xtc_php_mail.inc.php" der Aufruf für den Widerruf fehlt? Denn die Signatur wird einwandfrei eingebunden ...
    [...]

    Nein, die Signatur wird wenn nicht schon über [SIGNATUR] eingebunden hinten ran gehängt.
    Die Widerruf-Datei wird nur bei Bedarf über [WIDERRUF] eingebunden.

    Leere sicherheitshalber mal den Ordner "/templates_c/" bis auf die ".htaccess" und "index.html".

    Gruß h-h-h

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #7 am: 13. Oktober 2011, 18:13:02
    stimmt h-h-h ...

    augenscheinlich habe ich eine andere "xtc_php_mail.inc.php" im System ... vermutlich die Original "xtc_php_mail.inc.php" aus der Version 1.0.5

    habe gerade mal die "xtc_php_mail.inc.php" aus der Version modified eCommerce Shopsoftware 1.05 SP1a getestet, das gleiche Ergebnis ...

    hier die Datei "xtc_php_mail.inc.php" gegen die ich teste ...

    Code: PHP  [Auswählen]
    <?php

    /* -----------------------------------------------------------------------------------------
       $Id: xtc_php_mail.inc.php 1129 2005-08-05 11:46:11Z mz $  

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2003      nextcommerce (xtc_php_mail.inc.php,v 1.17 2003/08/24); www.nextcommerce.org


       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

    // include the mail classes
    function xtc_php_mail($from_email_address, $from_email_name, $to_email_address, $to_name, $forwarding_to, $reply_address, $reply_address_name, $path_to_attachement, $path_to_more_attachements, $email_subject, $message_body_html, $message_body_plain) {
            global $mail_error;

    //*********************************************************************************************
    // Signatur für E-Mails
    // by Dipl.-Ing. Daniel Wallas für www.tuvino.de
    //*********************************************************************************************
    $mailsmarty= new Smarty;
    $mailsmarty->compile_dir = DIR_FS_DOCUMENT_ROOT.'templates_c';

    //BOF - Dokuman - 20091030 - Check for existing signature files
    //$html_signatur = $mailsmarty->fetch(DIR_FS_DOCUMENT_ROOT.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.html');
    //$txt_signatur = $mailsmarty->fetch(DIR_FS_DOCUMENT_ROOT.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.txt');

    // load the signatures only, if the appropriate file(s) exists
            $html_signatur = '';
            $txt_signatur = '';
      if (file_exists(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.html')) {
            $html_signatur = $mailsmarty->fetch(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.html');
      }
      if (file_exists(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.txt')) {
            $txt_signatur = $mailsmarty->fetch(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/signatur.txt');
      }
    //EOF - Dokuman - 20091030 - Check for existing signature files

      //BOF - web28 - 2010-06-05 - Widerruf in Email
      $html_widerruf = '';
      $txt_widerruf = '';
      if (file_exists(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/widerruf.html')) {
            $html_widerruf = $mailsmarty->fetch(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/widerruf.html');
      }
      if (file_exists(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/widerruf.txt')) {
            $txt_widerruf = $mailsmarty->fetch(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/widerruf.txt');
      }
     
      //Platzhalter [WIDERRUF] durch Widerruf Text ersetzen
      if (strpos($message_body_html,'[WIDERRUF]') !== false) {
            $message_body_html = str_replace('[WIDERRUF]', $html_widerruf, $message_body_html);
      }
      if (strpos($message_body_plain,'[WIDERRUF]') !== false) {
            $message_body_plain = str_replace('[WIDERRUF]', $txt_widerruf, $message_body_plain);
      }
     
      //Platzhalter [SIGNATUR] durch Signatur Text ersetzen
      if (strpos($message_body_html,'[SIGNATUR]') !== false) {
            $message_body_html = str_replace('[SIGNATUR]', $html_signatur, $message_body_html);
            $html_signatur = '';
      }
      if (strpos($message_body_plain,'[SIGNATUR]') !== false) {
            $message_body_plain = str_replace('[SIGNATUR]', $txt_signatur, $message_body_plain);
            $txt_signatur = '';
      }
      //EOF - web28 - 2010-06-05 - Widerruf in Email

    //**********************************************************************************************

            $mail = new PHPMailer();
            $mail->PluginDir = DIR_FS_DOCUMENT_ROOT.'includes/classes/';

            if (isset ($_SESSION['language_charset'])) {
                    $mail->CharSet = $_SESSION['language_charset'];
                    //BOF  - web28 - 2010-07-15 - needed for html_entity_decode
                    $charset = $_SESSION['language_charset'];
                    //EOF  - web28 - 2010-07-15 - needed for html_entity_decode
            } else {
                    $lang_query = "SELECT * FROM ".TABLE_LANGUAGES." WHERE code = '".DEFAULT_LANGUAGE."'";
                    $lang_query = xtc_db_query($lang_query);
                    $lang_data = xtc_db_fetch_array($lang_query);
                    $mail->CharSet = $lang_data['language_charset'];
                    //BOF  - web28 - 2010-07-15 - needed for html_entity_decode
                    $charset = $lang_data['language_charset'];
                    //EOF  - web28 - 2010-07-15 - needed for html_entity_decode            
            }
            //BOF  - web28 - 2010-06-05 - SetLanguage Multilanguage
            /*
            if ($_SESSION['language'] == 'german') {
                    $mail->SetLanguage("de", DIR_WS_CLASSES);
            } else {
                    $mail->SetLanguage("en", DIR_WS_CLASSES);
            }
            */

        if (isset ( $_SESSION['language_code'])) {         
                    $lang_code = $_SESSION['language_code'];
            } else $lang_code = DEFAULT_LANGUAGE;  
           
            $mail->SetLanguage($lang_code, DIR_WS_CLASSES);
            //EOF - web28 - 2010-06-05 - SetLanguage Multilanguage
           
            if (EMAIL_TRANSPORT == 'smtp') {
                    $mail->IsSMTP();
                    $mail->SMTPKeepAlive = true; // set mailer to use SMTP
                    $mail->SMTPAuth = SMTP_AUTH; // turn on SMTP authentication true/false
                    $mail->Username = SMTP_USERNAME; // SMTP username
                    $mail->Password = SMTP_PASSWORD; // SMTP password
                    $mail->Host = SMTP_MAIN_SERVER.';'.SMTP_Backup_Server; // specify main and backup server "smtp1.example.com;smtp2.example.com"
            }

            if (EMAIL_TRANSPORT == 'sendmail') { // set mailer to use SMTP
                    $mail->IsSendmail();
                    $mail->Sendmail = SENDMAIL_PATH;
            }
            if (EMAIL_TRANSPORT == 'mail') {
                    $mail->IsMail();
            }

            if (EMAIL_USE_HTML == 'true') // set email format to HTML
                    {
                    $mail->IsHTML(true);
                    $mail->Body = $message_body_html.$html_signatur;//DPW Signatur ergänzt.
                    // remove html tags
                    $message_body_plain = str_replace('<br />', " \n", $message_body_plain.$txt_signatur);//DPW Signatur ergänzt.
                    $message_body_plain = strip_tags($message_body_plain);
                    //BOF  - web28 - 2010-07-15 -  html_entity_decode
                    $message_body_plain = html_entity_decode($message_body_plain, ENT_NOQUOTES, $charset);
                    //EOF  - web28 - 2010-07-15 -  html_entity_decode
                    $mail->AltBody = $message_body_plain;
            } else {
                    $mail->IsHTML(false);
                    //remove html tags
                    $message_body_plain = str_replace('<br />', " \n", $message_body_plain.$txt_signatur);//DPW Signatur ergänzt.
                    $message_body_plain = strip_tags($message_body_plain);
                    //BOF  - web28 - 2010-07-15 -  html_entity_decode
                    $message_body_plain = html_entity_decode($message_body_plain, ENT_NOQUOTES, $charset);
                    //EOF  - web28 - 2010-07-15 -  html_entity_decode
                    $mail->Body = $message_body_plain;
            }

            $mail->From = $from_email_address;
            $mail->Sender = $from_email_address;
            $mail->FromName = $from_email_name;
            $mail->AddAddress($to_email_address, $to_name);
            if ($forwarding_to != '')
                    $mail->AddBCC($forwarding_to);
            $mail->AddReplyTo($reply_address, $reply_address_name);

            $mail->WordWrap = 50; // set word wrap to 50 characters
            $mail->AddAttachment($path_to_attachement);                     // add attachments
            $mail->AddAttachment($path_to_more_attachements);               // optional name                                          

            $mail->Subject = $email_subject;

            if (!$mail->Send()) {
                    echo "Message was not sent <p>";
                    echo "Mailer Error: ".$mail->ErrorInfo."</p>";
                    exit;
            }
    }
    ?>

    Grüsse
    Hardy

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #8 am: 13. Oktober 2011, 18:16:51
    [...]
    Evtl. noch den Cache löschen.

    [...]
    Leere sicherheitshalber mal den Ordner "/templates_c/" bis auf die ".htaccess" und "index.html".
    [...]

    Die Datei(1.05) brauche ich mir nicht anschauen, da kann kein Fehler drin sein.

    Wenn es nicht die Cache ist und Du wirklich alles korrekt geschrieben hast, alle Dateien am richtigem Ort liegen habe ich keine Idee.

    Gruß h-h-h

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #9 am: 13. Oktober 2011, 18:37:42
    oha ... Anfängerfehler ...

    ich hatte in der "order_mail.html" diesen Code:

    Code: PHP  [Auswählen]
    {if $smarty.const.TPL_CLIENT == 'modified eCommerce Shopsoftwareod' }[SIGNATUR]

    [WIDERRUF]{/if}

    anstatt diesem stehen:

    Code: PHP  [Auswählen]
    [SIGNATUR]

    [WIDERRUF]

    jetzt funktioniert alles ...

    Danke h-h-h für deine Mühe ...

    Grüsse
    Hardy

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #10 am: 14. Oktober 2011, 09:45:26
    Ach herje... wieder YAML, wenn ich das richtig sehe!

    Ist mir jetzt schon öfters aufgefallen, dass diese Weiche nicht funktioniert!

    Code: PHP  [Auswählen]
    {if $smarty.const.TPL_CLIENT == 'modified eCommerce Shopsoftwareod' }
    ...
    {/if}

    Diese Weiche wirst du noch an anderer Stelle im Template finden, beispielsweise bei dem "more_images" Array in der "product_info" Datei des Templates.

    Grüße

    Torsten

    Hardy-Berlin

    • Neu im Forum
    • Beiträge: 49
    • Geschlecht:
    Re: Widerruftext wird über "order_mail.html nicht mitgesendet
    Antwort #11 am: 14. Oktober 2011, 10:35:41
    Moin Torsten ...

    du siehst richtig ... ja, das Template "YAML-Template für xt:Commerce" hat Schwächen ... daß hat aber nichts mit YAML grundsätzlich zu tun ... ich finde nach wie vor, YAML ist ein geiles Framework ...

    und danke für den Tipp mit der Weiche an anderer Stelle ...

    Grüsse
    Hardy
    12 Antworten
    6664 Aufrufe
    23. Januar 2012, 15:09:58 von franky_n
    7 Antworten
    2386 Aufrufe
    19. Juli 2018, 00:29:29 von etzs
    10 Antworten
    3923 Aufrufe
    24. Mai 2011, 11:04:01 von Jim
               
    anything