v2.0.x Kundensprache

Thema wurde von HolgerNils (xycons.de), 2. September 2012 erstellt.

  1. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.985
    Danke erhalten:
    470
    Danke vergeben:
    369
    Hm, ich stolper gerade ein wenig über immer wieder dieselbe CodeZeile z. B. in "admin/orders.php":
    Code:
    if($_SESSION['language'] == 'german')...
    if (!isset($lang)) $lang=$_SESSION['languages_id'];...
    $smarty->assign('language', $_SESSION['language']);
    ...
    
    Wird die Sprache des Kunden, die ja lt. Feldliste in "orders" auch gespeichert wird, evt. falsch ausgewertet?
    Eigentlich sollte doch die Sprache im Kundensatz darüber entscheiden, in welcher Sprache eine eMail-Info etc. versandt wird, oder sehe ich da was nicht richtig? Irgendwie wird immer die aktuelle Sprache des Admins genommen, welche in $_SESSION ist...
     
  2. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.985
    Danke erhalten:
    470
    Danke vergeben:
    369
    #2 HolgerNils (xycons.de), 3. September 2012
    Zuletzt bearbeitet: 3. September 2012
    admin/orders.php sendet offenbar immer deutsche Status-Change-Informationen, zumindest immer in der Sprache, die der Admin gerade benutzt, denn die steht in $_SESSION('language') drin...

    Um das zu Ändern folgendes ändern: alten Code auskommentieren und neuen Code einfügen oder vorhandene Zeilen entsprechend abändern.

    Mailversand für Multi-Status-Änderung bei ca. Zeile 202 und für Single-Status-Änderung bei ca. 298.

    Code:
                    // BOF GM_MOD
    
    // HoS Sprachenfix Kunde    if($_SESSION['language'] == 'german') xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $check_status['customers_email_address'], $check_status['customers_name'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', 'Ihre Bestellung '.$oID.', '.xtc_date_long($check_status['date_purchased']).', '.$check_status['customers_name'], $html_mail, $txt_mail);
    // HoS Sprachenfix Kunde    else xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $check_status['customers_email_address'], $check_status['customers_name'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', 'Your Order '.$oID.', '.xtc_date_long($check_status['date_purchased']).', '.$check_status['customers_name'], $html_mail, $txt_mail);
                    if($check_status['language'] == 'german') {
                       xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $check_status['customers_email_address'], $check_status['customers_name'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', 'Ihre Bestellung '.$oID.', '.xtc_date_long($check_status['date_purchased']).', '.$check_status['customers_name'], $html_mail, $txt_mail);
                    } else { 
                       xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $check_status['customers_email_address'], $check_status['customers_name'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', 'Your Order '.$oID.', '.xtc_date_long($check_status['date_purchased']).', '.$check_status['customers_name'], $html_mail, $txt_mail);
                    }
    
                    // EOF GM_MOD
    
    Richtig dufte ist anders, denn das Datum in der Betreffzeile der Mail ist nach-wie-vor deutsch, z. B. "Your Order XXXXX, Sonntag, 23.08.2012" ;-(
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Dann musst Du "xtc_date_long($check_status['date_purchased'])" in der englischen Variante ersetzen durch einen "date()"-Befehl, der das Datum englisch formatiert...