Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Anrede in E-Mail Auftragsbestätigung ändern

  1. #1
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke

    Standard Anrede in E-Mail Auftragsbestätigung ändern

    Hi!

    [Punkt 1]
    Ich möchte, dass der Kunde nach dem Einkauf in der Auftragbestätigungsmail wie in der Willkommensmail mit Sehr geehrter bzw. Sehr geehrte begrüßt wird.

    Habe im Ordner email dazu die Dateien email_template_welcome.html und email_template_checkout.html aufgerufen und in der zweiten die Variable $EMAIL_GREETING, die ich in der ersten fand eingebaut.

    Beim folgenden Test, musste ich leider feststellen, dass die Variable nicht aufgelöst wurde und das in der Mail stand:

    $EMAIL_GREETING Evelyn Maier

    Wo muss diese Übergabe stattfinden?

    In der email_template_welcome.html ist diese Information ja vorhanden.

    [Punkt 2]
    Weiter unten wird dann relativ unvermittelt der Kunden-Kommentar zur Bestellung angezeigt.

    Dort hätte ich gerne einen Eintrag wie:

    Ihr Kommentar: ...

    Aber dazu bräuchte ich ja wohl irgendwo in einer Sprachdefinitonsdatei einen entsprechenden Eintrag und für die email_template_checkout.html eine vorher gesetzte Variable.

    Wie und wo muss ich vorgehen?


    [Punkt 3]
    Die beiden benannten Dateien gelten ja nur für die HTML-Mails, wie könnte ich die beiden Änderungen für Text-Mails auch umsetzen?
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

  2. #2
    Jedi-Ritter Avatar von MaleBorg
    Registriert seit
    17.05.2006
    Beiträge
    3.043
    Themen
    30
    DANKE
    5
    Erhaltene Danke: 82

    Standard

    Bevor du wieder denkst, ich überlese es...

    Also die eMail Geschichte ist in Zen-Cart echt nicht sehr toll gelöst. Dementsprechend ist es in meinen Augen zu umständlich dort etwas einzubauen.

    Leider hat sich bisher keiner gefunden, der diese Funktion neu aufbaut und auch die Amerikaner sind von meinem Wünschen recht unbeeindruckt :(

    Die email Funktion für den jeweiligen Textinhalt wird in verschiedenen PHP DAteien aufgebaut.

    Für deine Variable $email_greeting schau mal in includes/modules/create_account ca. Zeile 330.

    Sowas ähnliches muss dann auch in die PHP Datei für die Checkout Mail. Leider finde ich die gerade nicht so schnell.

    Zu 3)
    Der Inhalt für Text und HTML eMail wird in der Datei gemeinsam verwaltet, sollte nach änderungen also bei beiden gleich sein.

    Gruß
    MaleBorg

  3. #3
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke
    Erstellt von

    Standard

    Du bist so ein aufmerksamer Leser, da käme ich nie auf den Gedanken!

    Habe mir jetzt mit Hilfe dieses Threads eine Hilfslösung mit Sehr geehrte/r ... zusammen gebaut.

    Und zwar so ...

    In der Datei includes/classes/order.php den Code (ca. Zeile 880)
    Code:
        //intro area
        $email_order = EMAIL_TEXT_HEADER . EMAIL_TEXT_FROM . STORE_NAME . "\n\n" .
        $this->customer['firstname'] . ' ' . $this->customer['lastname'] . "\n\n" .
        EMAIL_THANKS_FOR_SHOPPING . "\n" . EMAIL_DETAILS_FOLLOW . "\n" .
        EMAIL_SEPARATOR . "\n" .
        EMAIL_TEXT_ORDER_NUMBER . ' ' . $zf_insert_id . "\n" .
        EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n" .
        EMAIL_TEXT_INVOICE_URL . ' ' . zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $zf_insert_id, 'SSL', false) . "\n\n";
        $html_msg['EMAIL_TEXT_HEADER']     = EMAIL_TEXT_HEADER;
        $html_msg['EMAIL_TEXT_FROM']       = EMAIL_TEXT_FROM;
        $html_msg['INTRO_STORE_NAME']      = STORE_NAME;
        $html_msg['EMAIL_THANKS_FOR_SHOPPING'] = EMAIL_THANKS_FOR_SHOPPING;
        $html_msg['EMAIL_DETAILS_FOLLOW']  = EMAIL_DETAILS_FOLLOW;
        $html_msg['INTRO_ORDER_NUM_TITLE'] = EMAIL_TEXT_ORDER_NUMBER;
        $html_msg['INTRO_ORDER_NUMBER']    = $zf_insert_id;
        $html_msg['INTRO_DATE_TITLE']      = EMAIL_TEXT_DATE_ORDERED;
        $html_msg['INTRO_DATE_ORDERED']    = strftime(DATE_FORMAT_LONG);
        $html_msg['INTRO_URL_TEXT']        = EMAIL_TEXT_INVOICE_URL_CLICK;
        $html_msg['INTRO_URL_VALUE']       = zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $zf_insert_id, 'SSL', false);
    
        //comments area
        if ($this->info['comments']) {
          $email_order .= zen_db_output($this->info['comments']) . "\n\n";
          $html_msg['ORDER_COMMENTS'] = nl2br(zen_db_output($this->info['comments']));
        } else {
          $html_msg['ORDER_COMMENTS'] = '';
        }
    in diesen umgearbeitet (man beachte jeweils die Zeilen mit EMAIL_GREETING und COMMENTS_FLAG)
    Code:
        //intro area
        $email_order = EMAIL_TEXT_HEADER . EMAIL_TEXT_FROM . STORE_NAME . "\n\n" .
        EMAIL_GREETING .' '.
        $this->customer['firstname'] . ' ' . $this->customer['lastname'] . "\n\n" .
        EMAIL_THANKS_FOR_SHOPPING . "\n" . EMAIL_DETAILS_FOLLOW . "\n" .
        EMAIL_SEPARATOR . "\n" .
        EMAIL_TEXT_ORDER_NUMBER . ' ' . $zf_insert_id . "\n" .
        EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n" .
        EMAIL_TEXT_INVOICE_URL . ' ' . zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $zf_insert_id, 'SSL', false) . "\n\n";
        $html_msg['EMAIL_TEXT_HEADER']     = EMAIL_TEXT_HEADER;
        $html_msg['EMAIL_TEXT_FROM']       = EMAIL_TEXT_FROM;
        $html_msg['INTRO_STORE_NAME']      = STORE_NAME;
        $html_msg['EMAIL_GREETING']        = EMAIL_GREETING;
        $html_msg['EMAIL_THANKS_FOR_SHOPPING'] = EMAIL_THANKS_FOR_SHOPPING;
        $html_msg['EMAIL_DETAILS_FOLLOW']  = EMAIL_DETAILS_FOLLOW;
        $html_msg['INTRO_ORDER_NUM_TITLE'] = EMAIL_TEXT_ORDER_NUMBER;
        $html_msg['INTRO_ORDER_NUMBER']    = $zf_insert_id;
        $html_msg['INTRO_DATE_TITLE']      = EMAIL_TEXT_DATE_ORDERED;
        $html_msg['INTRO_DATE_ORDERED']    = strftime(DATE_FORMAT_LONG);
        $html_msg['INTRO_URL_TEXT']        = EMAIL_TEXT_INVOICE_URL_CLICK;
        $html_msg['INTRO_URL_VALUE']       = zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $zf_insert_id, 'SSL', false);
    
        //comments area
        if ($this->info['comments']) {
          $email_order .= COMMENTS_FLAG.''.zen_db_output($this->info['comments']) . "\n\n";
          $html_msg['ORDER_COMMENTS'] = COMMENTS_FLAG.''.nl2br(zen_db_output($this->info['comments']));
        } else {
          $html_msg['ORDER_COMMENTS'] = '';
        }
    Anschließend noch in der includes/languages/checkout_process.php
    Code:
    define('COMMENTS_FLAG', 'Ihre Anmerkungen und Signierwünsche: ');
    define('EMAIL_GREETING', 'Sehr geehrte/r ');
    definiert.

    Leider nicht die Unterscheidung nach Geschlecht, die ich wollte, aber besser als gar nichts und wenn man so viele Baustellen am Gang hat wie ich und außerdem die Deadline näher rückt, dann muss man manchmal mit der zweitbesten Lösung Vorlieb nehmen.

    Aber vielleicht findet sich nochmal jemand, der sein Engagement beim Thema ZC und E-Mail zeigt? Hallo! Ist da wer?

    Gruß

    Smartsoul
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

  4. #4
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke
    Erstellt von

    Standard

    Hey Leute!

    Das war gerade mein 200. Beitrag in diesem Forum!!!

    Ich geb einen aus für alle, die das hier lesen!

    Gruß

    Smartsoul
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

  5. #5
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke
    Erstellt von

    Standard

    Übrigens funktioniert diese Lösung sowohl für HTML als auch für Text-Mails.

    Gruß

    Smartsoul
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

  6. #6
    Jedi-Ritter Avatar von MaleBorg
    Registriert seit
    17.05.2006
    Beiträge
    3.043
    Themen
    30
    DANKE
    5
    Erhaltene Danke: 82

    Standard

    Leider spinnen gerade ein wenig meine Testshop, so daß ich folgendes nicht testen konnte.

    Unterscheidung Geschlecht:
    In der Datei includes/languages/checkout_process.php einfügen

    Code:
    define('EMAIL_GREETING_MR', 'Sehr geehrter ');
    define('EMAIL_GREETING_MS', 'Sehr geehrte ');
    In der Datei includes/classes/order.php

    Code:
        $customer_address_query = "select c.customers_firstname, c.customers_lastname, c.customers_telephone,
                                        c.customers_email_address, ab.entry_company, ab.entry_street_address,
                                        ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id,
                                        z.zone_name, co.countries_id, co.countries_name,
                                        co.countries_iso_code_2, co.countries_iso_code_3,
                                        co.address_format_id, ab.entry_state
                                       from (" . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab )
                                       left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id)
                                       left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id)
                                       where c.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                       and ab.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                       and c.customers_default_address_id = ab.address_book_id";
    ersetzen durch

    Code:
        $customer_address_query = "select c.customers_gender, c.customers_firstname, c.customers_lastname, c.customers_telephone,
                                        c.customers_email_address, ab.entry_company, ab.entry_street_address,
                                        ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id,
                                        z.zone_name, co.countries_id, co.countries_name,
                                        co.countries_iso_code_2, co.countries_iso_code_3,
                                        co.address_format_id, ab.entry_state
                                       from (" . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab )
                                       left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id)
                                       left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id)
                                       where c.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                       and ab.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                       and c.customers_default_address_id = ab.address_book_id";
    in der gleichen Datei

    Code:
        $email_order = EMAIL_TEXT_HEADER . EMAIL_TEXT_FROM . STORE_NAME . "\n\n" .
        $this->customer['firstname'] . ' ' . $this->customer['lastname'] . "\n\n" .
    ersetzen durch

    Code:
        $email_order = EMAIL_TEXT_HEADER . EMAIL_TEXT_FROM . STORE_NAME . "\n\n";
    	If ($customer_address->fields['customers_gender'] == 'm'){
    		$email_order .= EMAIL_GREETING_MR .' ';
    	} else {
    		$email_order .= EMAIL_GREETING_MS .' ';
    	}
        $email_order .= $this->customer['firstname'] . ' ' . $this->customer['lastname'] . "\n\n" .
    Ist allerdings ungetestet. Bitte um Rückmeldung.

    Gruß
    MaleBorg

  7. #7
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke
    Erstellt von

    Standard

    Komme gerade nach Hause und finde Antwort auf ein paar Fragen! Super!

    Werde dann testen, was du hier gepostet hast.

    Gruß

    Smartsoul

    P.S. Ist das für Text und HTML Mails gültig?
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

  8. #8
    Padawan Stufe I Avatar von triparcus
    Registriert seit
    18.05.2007
    Beiträge
    44
    Themen
    8
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    Hallo,
    ich habe die Änderungen nach Smartsouls Anleitung durchgeführt. Leider werden hat keine Statusänderungs-Mails mehr rausgeschickt. Wenn ich z.B. den Status einer Bestellung von Warten auf verschickt ändern will (mit Kunden benachrichtigen), kommt folgende Fehlermeldung:

    Code:
    Fatal error: Cannot use object of type queryFactoryResult as array in /opt/lampp/htdocs/catalog/admin/edit_orders.php on line 186
    In Zeile 186 der edit_orders.php steht

    Code:
    zen_mail($check_status['customers_name'], $check_status->fields['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
    Ich gehe mal davon aus, das
    Code:
    define('EMAIL_GREETING', 'Sehr geehrte/r ');
    nicht nur in includes/languages/german/checkout_process.php drinstehen muss, sondern auch in einer weiteren Datei, wo er die Texte für die Aktualisierungs-Mails holt. Richtig? Und wenn ja, welche?

    Gruß
    triparcus

  9. #9
    Padawan Stufe I Avatar von triparcus
    Registriert seit
    18.05.2007
    Beiträge
    44
    Themen
    8
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    Upps, ich stanbd auf dem Schlauch. Der Fehler lag im Modul edit_orders.

  10. #10
    Padawan Stufe IV Avatar von Smartsoul
    Registriert seit
    23.05.2006
    Beiträge
    328
    Themen
    53
    DANKE
    0
    erhaltene Danke
    Erstellt von

    Standard

    Na dann bin ich ja beruhigt!

    Gruß Smartsoul
    Manchmal hab ich echt keinen Plan, aber dann hab ich immer noch mein Forum Danke an alle freundlichen HelferInnen!

Seite 1 von 4 123 ... LetzteLetzte

Ähnliche Themen

  1. Auftragsbestätigung an den Kunden
    Von spatz im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 3
    Letzter Beitrag: 11.10.2008, 09:33
  2. Kunden freischalten , automatische Mail schicken???
    Von ludinell im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 5
    Letzter Beitrag: 28.04.2008, 13:40
  3. Viele Fragen rund um Auftragsbestätigung, Rechnung...
    Von Mausee im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 4
    Letzter Beitrag: 22.02.2007, 10:40
  4. persönliche Anrede Bestellbestätigungsmail
    Von snoopy198 im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 2
    Letzter Beitrag: 04.10.2006, 18:59
  5. Warning: mail(): "sendmail_from" not set in php.in
    Von Wurstkuchen im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 1
    Letzter Beitrag: 05.10.2005, 09:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
zen-cart-pro.at
Zen Cart ist eine kostenlose unter der GPL-Lizenz veröffentlichte Open-Source Shopsoftware. Das System wird in den USA entwickelt, die amerikanische Website dazu ist www.zen-cart.com

Die deutsche Zen-Cart Version, um die es hier auf zen-cart-pro.at geht, ist eine Anpassung der amerikanischen Version an die Bedürfnisse von Onlineshopbetreibern im deutschsprachigen Raum.

Die deutsche Zen Cart Version wird von einem Team von Entwicklern in Österreich und Deutschland betreut, weiterentwickelt und supportet und steht kostenlos in unserem Downloadbereich zur Verfügung.

[mehr]
Follow Us
  • zen-cart-pro-at auf Twitter
  • zen-cart-pro-at auf Github
  • zen-cart-pro-at auf SourceForge
Aktuelle Version
Zen Cart 1.5.5 deutsch
Revision 1184 vom 01.09.2016
[Download]