Antwort #6 am: 13. April 2016, 12:37:33
Da ich das gerade benötigte poste ich hier mal meinen Lösungsansatz der auf Verwendung des Strings von
web28 aufbaut.
!! Das gilt nur für modified-Versionen <= 1.06 !!In der 2.0 sind die Eingabefelder im Backend bereits mehrsprachig.
(Wobei mich wundert
- habe die 2.0 noch nicht selbst installiert -
daß die
/send_order.php dafür gar nicht angepasst erscheint...)
Suche in
/send_order.php das folgende:
// create subject $order_subject = str_replace('{$nr}', $insert_id, EMAIL_BILLING_SUBJECT_ORDER
); und ersetze es hiermit:
//BOC get mail subject in all available languages, noRiddle // pattern in backend => konfiguration => e-mail options: de:Ihre Bestellung {$nr}, am {$date}|en:Your order {$nr} from {$date} $ord_subj_arr = explode('|', EMAIL_BILLING_SUBJECT_ORDER
); $ord_subj_txt_arr = array(); foreach($ord_subj_arr as $ord_subj_val) { parse_str(str_replace(':', '=', $ord_subj_val), $ord_subj_txt_arr); if(isset($ord_subj_txt_arr[$_SESSION['language_code']])) { $order_subject = $ord_subj_txt_arr[$_SESSION['language_code']]; } } //$order_subject = str_replace('{$nr}', $insert_id, EMAIL_BILLING_SUBJECT_ORDER); $order_subject = str_replace('{$nr}', $insert_id, $order_subject); //EOC get mail subject in all available languages, noRiddle Im Backend unter
Konfiguration => E-Mail Optionen bei "
Verrechnung - E-Mail Betreff für Bestellungen" dann folgendes Muster verwenden:
de:Ihre Bestellung {$nr}, am {$date}|en:Your order {$nr} from {$date}
Dabei zwischen den : sowie zwischen dem | und den Texten keine Leerzeichen verwenden.
Auch die genannten Zeichen nicht im eigentlichen Text verwenden.
Anstelle des : kann man auch gleich = verwenden und spart sich dann das
str_replace() in der Funktion
parse_str().
Gruß,
noRiddle
Wer mehr Sprachen hat erweitert den Text entsprechend wobei die Sprachkürzel (= $_SESSION['language_code']) de, en, fr usw. benutzt werden müssen.
Wer für verwendete Sprachen das Kürzel nicht kennt kann es im Backend bei
Land / Steuer => Sprachen nachschauen.