Jump to content
xt:Commerce Community Forum

Order Mails


Tiara

Recommended Posts

Hallo,

das hab ich in meine send_order.php eingetragen und das dann mit der

order_mail.html/ .text eingef?gt mit "E-Mail Adresse: {$EMAIL} "

das klappte.

$smarty->assign('EMAIL',$order->customer['email_address']);

ich will aber nicht unbedingt die mail sondern eher die Telefonnummer ich bekomme es aber nicht wirklich hin.

die smarty geschichte hab ich hier gefunden aber wie tausche ich das mit der mail in die Telefonnummer.

Bitte um hilfe.

DANKE

Link to comment
Share on other sites

  • 1 month later...

Originally posted by suebur@Mar 7 2006, 07:46 PM

Wenn ich es jetzt im Gegenzug schaffen w?rde, Vorname + Nachnahme getrennt herauszufiltern w?r ich auch happy :-(

Quoted post

Das ist etwas komplizierter, weil der Kundenname aus der Bestellungstabelle - wo der name zusammengef?gt gespeichert ist - ermittelt wird.

Beiliegender Workaround sollte (ungetestet!) sich den Vor- und Nachnamen aus der Kundentabelle holen.

Hinweis: Da es unwahrscheinlich ist, da? der Kunde zwischen "Klick auf bestellen" und dem Versand der Best?tigungsmail noch schnell seinen Namen ?ndert, kann man sich ?berlegungen zu inkonsistenten Daten schenken. Wenn man das gleiche auch f?r die Bestellstatus-?nderungsmail verwenden m?chte, k?nnte es passieren, da? ein Kunde zwischenzeitlich seinen Namen ge?ndert hat und in der Status?nderungsmail nicht mit dem Namen angesprochen wird mit dem er bestellt hatte.

1. In der /includes/classes/order.php

hinter der Zeile:

$order = xtc_db_fetch_array($order_query);

folgendes einf?gen:

$customerdata_query=xtc_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " WHERE customers_id=" . ($order['customers_id']+0) );

$customerdata = xtc_db_fetch_array($customerdata_query);

und dann noch hinter:

$this->customer = array('name' => $order['customers_name'],

folgendes:

'firstname' => $customerdata['customers_firstname'],

'lastname' => $customerdata['customers_lastname'],

2. Smarty-Zuweisung erfolgt mit

$smarty->assign('FIRSTNAME',$order->customer['firstname']);

bzw.

$smarty->assign('LASTNAME',$order->customer['lastname']);

Link to comment
Share on other sites

hi metaways,

danke.

Aber sag mal, in der send_order.php, warum kann ich dort nicht einfach den firstname und lastname aus der tabelle orders herausholen, wie z.B. den Namen, strasse, etc auch? Diese weise ich ja auch zu wie folgt:

$smarty->assign('STRASSE',$order->customer['street_address']);

$smarty->assign('PLZ',$order->customer['postcode']);

$smarty->assign('ORT',$order->customer['city']);

und die Daten sind doch in der orders-tabelle auch enthalten, in customers_firstname und customers_lastname sind die daten doch da (tab. orders)

????

danke !!

Link to comment
Share on other sites

hmmm, da hab' ich vieleicht eine ?ltere version vorliegen, in meiner "orders" tabelle finde ich jedenfalls nur customers_name und billing_name welche jeweils zusammengesetzte namen enthalten. egal...

die daten werden nicht in der send_order.php aus der datenbank geholt, sondern in der klasse order (in der datei order.php) und zwar genau in der zeile

$order = xtc_db_fetch_array($order_query);

in der zeile davor steht die datenbankabfrage in der definiert wird, welche spalten genau ausgelesen werden sollen. wenn in der "orders" tabelle also auch noch die spalten "customers_firstname" und "customers_lastname" stehen, mu? man die abfrage auf diese spalten erweitern:

SELECT ..., customers_lastname, customers_firstname FROM ...

jetzt haben wir die daten zwar aus der DB ausgelesen, aber unsere order-instanz wei? gar nichts von den daten. die daten werden daher in der zeile

$this->customer = array('name' => $order['customers_name'], ... );

[Anmerkung:

'name' ist der schl?ssel f?r den sp?teren zugriff mit $order->customer['name']

$order['customers_name'] ist der wert aus der tabellenspalte 'customers_name'

]

noch in der instanzvariablen $this->customer hinterlegt, auf die dann n?mlich in der send_orders.php mit $order->customer[' ... '] zugegriffen werden kann.

diese zuweisung m??te man also noch erweitern um

'blah' => $order['customers_firstname'],

'nachname' => $order['customers_lastname'],

und $smarty->assign('XYZ',$order->customer['blah']); w?rde den vornamen ins template unter {$XYZ} reinschreiben.

Link to comment
Share on other sites

hi metaways,

DANKE :rolleyes:

admin/include/classes/order.php

$order_query = xtc_db_query("select

customers_id,

customers_cid,

customers_name,

customers_firstname,

customers_lastname,

customers_company,

$this->customer = array('id' => $order['customers_id'],

'name' => $order['customers_name'],

'vorname' => $order['customers_firstname'],

'nachname' => $order['customers_lastname'],

'csID' => $order['customers_cid'],

include/classes/order.php

$this->customer = array(

'name' => $order['customers_name'],

'vorname' => $order['customers_firstname'],

'nachname' => $order['customers_lastname'],

'company' => $order['customers_company'],

/send_order.php

$smarty->assign('EMAIL',$order->customer['email_address']);

$smarty->assign('PHONE',$order->customer['telephone']);

$smarty->assign('VNAME', $order->customer['vorname']);

$smarty->assign('NNAME', $order->customer['nachname']);

$smarty->assign('STRASSE',$order->customer['street_address']);

$smarty->assign('PLZ',$order->customer['postcode']);

$smarty->assign('ORT',$order->customer['city']);

meintemplate/mail/german/order_mail.html

Vorname: {$VNAME}

Name: {$NNAME}

Strasse: {$STRASSE}

PLZ: {$PLZ}

Ort: {$ORT}

Email: {$EMAIL}

Telefon: {$PHONE}

Fax: {$FAX}

Das alles hat es jetzt gebracht *freu* *jubel* *h?pf* DANKEEEE :rolleyes:

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...
  • 1 year later...

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...