Diese Seite drucken
Montag, 15 Juli 2019 14:40

Rechnungs-Nr. im E-Mails verwenden

geschrieben von
Artikel bewerten
(0 Stimmen)

Es wird immer mal wieder danach gefragt, ob man nicht auch die Rechnungsnummer in den Mails verwenden kann. Kann man durchaus, nur reicht es nicht, einfach die Smarty-Variable {invoice_number} in eine Mail zu schreiben. Sie wird dann nämlich wie ein Stück Text vbehandelt und kommt genauso beim Kunden an. Ein bisschen Programmierung ist da schon erforderlich.

 

 Um die Rechnungs-Nr. für Mails verfügbar zu machen, bedarf es einer Erweiterung der Funktion addwithemail in der /classes/order/OrderHistory.php:

$result = Db::getInstance()->getRow('
            SELECT osl.`template`, c.`id_gender`, c.`lastname`, c.`firstname`, osl.`name` AS osname, c.`email`, os.`module_name`, os.`id_order_state`, o.`order_note`, o.`invoice_number`
            FROM `'._DB_PREFIX_.'order_history` oh
                LEFT JOIN `'._DB_PREFIX_.'orders` o ON oh.`id_order` = o.`id_order`
                LEFT JOIN `'._DB_PREFIX_.'customer` c ON o.`id_customer` = c.`id_customer`
                LEFT JOIN `'._DB_PREFIX_.'order_state` os ON oh.`id_order_state` = os.`id_order_state`
                LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = o.`id_lang`)
            WHERE oh.`id_order_history` = '.(int)$this->id.' AND os.`send_email` = 1');
        if (isset($result['template']) && Validate::isEmail($result['email']))
        {
            ShopUrl::cacheMainDomainForShop($order->id_shop);
            
            $topic = $result['osname'];
            $data = array(
                '{lastname}' => $result['lastname'],
                '{firstname}' => $result['firstname'],
                '{order_note}' => $result['order_note'],
                '{id_order}' => (int)$this->id_order,
                '{order_name}' => $order->getUniqReference(),
                '{invoice_number}' => 'RE' . date("y") . '-' . $result['invoice_number']            
            ); 


Die Variable steht nun für jede Mail zur Verfügung. Man kann sie einsetzen mit dem Namen {invoice_number}.
Das Ergebnis ist eine automatisch auf das Jahresdatum aktualisierte Rechnungs-Nr. in der Form RE[zweistellige Jahreszahl]-[Rechnungsnummer], also z.B. RE19-78666

Die Jahreszahl wird durch die PHP-Funktion date("y") erzeugt, wobei ein großes Y für die Langform 2019 stehen würde. Verknüpft werden die einzelnen Bestandteile jeweils mit einem Punkt.

 

Gelesen 2550 mal
eleazar

Das Neueste von eleazar