PDF Anhang an Bestellbestätigung

  • Da es immer wieder gefragt wird, hier ein Beispiel anhand der Widerrufsbelehrung:

    Zitat

    send_order.php


    Zeile: 88

    PHP
    1. // send mail to customer
    2. xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $order_subject, $html_mail, $txt_mail);


    ändern in:

    PHP
    1. $attachment = array();
    2. $attachment[] = DIR_FS_CATALOG . 'pub/widerrufsbelehrung.pdf';
    3. // send mail to customer
    4. xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, $attachment, '', $order_subject, $html_mail, $txt_mail);


    Die Widerrufsbelehrung wird in diesem Fall im Verzeichnis

    Zitat

    pub/

    mit dem Namen

    Zitat

    widerrufsbelehrung.pdf

    erwartet. Da im xt:Commerce von Haus aus Anhänge nicht aktiviert sind, muss noch diese Änderung durchgeführt werden:

    Zitat

    inc/xtc_php_mail.inc.php


    Zeile: 79

    PHP
    1. //$mail->AddAttachment($path_to_attachement); // add attachments


    ändern in:

    PHP
    1. if (is_array($path_to_attachement) && sizeof($path_to_attachement > 0)) {
    2. foreach($path_to_attachement as $attachent) {
    3. $mail->AddAttachment($attachent);
    4. }
    5. } else {
    6. $mail->AddAttachment($path_to_attachement); // add attachments
    7. }


    Das Gegenstück für H.H.G. multistore ist hier zu finden: PDF Anhang an Bestellbestätigung

  • Nein, es muss nicht per pdf Anhang sein. Es wird nur des Öfteren gefragt, da Heute Morgen im sellerforum.de wieder eine Anfrage war, habs ichs nun auch hier mal gepostet.

  • Ja, natürlich unter

    PHP
    1. $attachment[] = DIR_FS_CATALOG . 'pub/widerrufsbelehrung.pdf';


    kannst Du z.B. mit

    PHP
    1. $attachment[] = DIR_FS_CATALOG . 'pub/agb.pdf';


    fortfahren

  • Hi,


    ich habe die Änderungen in meinem Gambio xt:Commerce eingebaut, aber es funktioniert nicht. Die Emails sind leer, sprich ohne Anhang.
    Ich habe auch keine inc/xtc_php_mail.php sondern eine inc/xtc_php_mail.inc.php Datei, die aber ähnliches enthält.


    Voran kann das liegen?

  • Überprüfe die Berechtigungen für das Verzeichnis

    Zitat

    pub/

    wie auch die des Inhalts, alles muss vom Webserver lesbar sein.


    Danke für den Hinweis, habs oben korrigiert. Es war noch ein Fehler drin, den hab ich auch noch korrigiert nun sollte es passen. :whistling:

  • Danke für deine prompte Hilfe.


    Ich habe es mal unter media/content eingefügt. Rechte sind in allen Ordnern 777.

    Zitat


    Hier mal mein Code:

    Code
    1. // send mail to customer
    2. // BOF GM_MOD:
    3. /* 2010-06-10 SC AGB als PDF-Anhang - BEGIN */
    4. // ALT => if(SEND_EMAILS == 'true') $gm_mail_status = xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $order_subject, $html_mail, $txt_mail);
    5. $attachment = array();
    6. $attachment[] = DIR_FS_CATALOG . 'media/content/widerrufsbelehrung.pdf';
    7. $attachment[] = DIR_FS_CATALOG . 'media/content/agb.pdf';
    8. if(SEND_EMAILS == 'true') $gm_mail_status = xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, $attachment, '', $order_subject, $html_mail, $txt_mail);
    9. /* 2010-06-10 SC AGB als PDF-Anhang - ENDE */


    In der Datei im Verzeichnis "inc" müßte ich nichts ändern, dass ist bereits bei Gambio aktiv. Nur folgende Zeile ist auskommentiert:

    PHP
    1. // BOF GM_MOD:
    2. $mail->WordWrap = 76; // set word wrap to 50 characters
    3. $mail->AddAttachment($path_to_attachement); // add attachments
    4. //$mail->AddAttachment($path_to_more_attachements); // optional name


    Danke vorab für deine Hilfe.

  • Die Änderung in der

    Zitat

    inc/xtc_php_mail.inc.php

    muss etwas anders lauten, habs oben angepasst.

  • Hallo Hasan,


    super, vielen Dank. Das war das Problem. :):):)


    Wenn ich deinen Multistore vor Gambio kennengelernt hätte, dann wäre ich sicherlich auf deinen Multistore gekommen, weil diese Multistore-Funktion fehlt Gambio und die hätte ich so gerne. :)


    Gruss
    Muecke

  • kein Problem =)


    Naja, streng genommen ist der Gambio ein Aufsatz auf den xt:Commerce der wiederum z.g.T. auch von meinem Team und mir ist. :whistling: Nur ist das Alles halt gute 5 Jahre her und entsprechend veraltet. Als wir mit dem Multistore anfingen, war es noch so, dass es für Großunternehmen interessant war. Der Markt ändert sich zum Multishop hin, dem entsprechend wird es auch für die KMU immer interessanter und demnächst auch wohl ausschlaggender für den Erfolg, wenn der Markt enger wird.

  • Hallo, hab die Einstellungen genauso vorgenommen und die Anhänge klappen auch wunderbar. Jedoch sind die Bestellungen im Admin fett hinterlegt und ein Hinweis "Die unten fett markierten Bestellungen haben noch keine E-Mail Bestellbestätigung erhalten!" (siehe Bild). Die Auftragsbestätigung wird aber ganz normal verschickt, ich habe es getestet.


    Woran liegt das? Ich benute Gambio GX2

  • In der GX2 lautet die Zeile:

    PHP
    1. if(SEND_EMAILS == 'true') $gm_mail_status = xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $order_subject, $html_mail, $txt_mail);


    Du müsstest diese also in folgendes ändern:

    PHP
    1. if(SEND_EMAILS == 'true') $gm_mail_status = xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, $attachment, '', $order_subject, $html_mail, $txt_mail);
  • Hallo HHGAG,
    super Anleitung. Es funktioniert und wir sind froh, dass wir diesen Beitrag hier gefunden haben.


    Allerdings sind oben im Code zwei identische Fehler.
    $attachent muss eigentlich $attachement sein, oder??

  • Du das ist zwar ein peinlicher Schreibfehler (korrekt: attachment ;) ), aber die Variable wird nur in der

    PHP
    1. foreach

    Schleife genutzt und ist dort auch so funktionstüchtig.

  • ah, okay - ich dachte das korrespondiert mit der Variablen in send_order.php


    aber wie gesagt - insgesamt funktioniert es super - auch mit meiner Rechtschreibkorrektur, lol

  • Klasse Anleitung habe es soeben eingebaut Funktioniert SUPER. :thumbsup: :thumbsup: :thumbsup:


    Ich wurde auch gerne einen Anhang an die E-Mail dran machen wo die Rechnung Verschickt wird.


    Also an die Letzte E-Mail die der Kunde bekommt würde ich gerne einen Warenbegleitschein dran hängen damit der Kunde den dann ausdrucken kann falls es dazu kommt.


    Hat jemand auch eine Anleitung dazu ?


    Besten Dank

  • Mit dem H.H.G. multistore kann man sowas über den Content Manager (Position: checkout_mail) bewerkstelligen, aber im xt:Commerce müssen einige Anpassungen stattfinden die jedoch hier den Rahmen sprengen würden.