Pagina 1 di 1

Email html

Inviato: 13/06/2007, 19:06
da sakkiotto
Salve,

da poco abbiamo modificato, per necessità, l'invio dell'email testo in html.
Purtroppo il link del dettaglio ordine non risulta cliccabile nell'email.

Arriva in questo modo:

Codice: Seleziona tutto

Numero ordine: 13282
Dettagli ordine: http://www.xxx.it/account_history_info.php?order_id=13282 
Data ordine: mercoledì 13 giugno, 2007
La scritta http://www.xxx.it/account_history_info. ... r_id=13282 non è cliccabile a differenza di quando veniva inviata in formato testo.

Il codice relativo è il seguente:

Codice: Seleziona tutto

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n"  . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]) . "\n\n" . EMAIL_TEXT_SHIP_DATE . $ship_date . "\n\n" . EMAIL_TEXT_TRACKING_NO . $tracking_no . "\n\n" . EMAIL_TEXT_QUESTIONS;
Qualcuno sa come modificarlo a dovere o da cosa dipende il problema?

Grazie

Inviato: 21/06/2007, 11:36
da luxifer
La funzione tep_href_link() serve a "ricreare" il link del catalogo secondo i parametri passati alla funzione stessa; non si occupa di creare il relativo codice html...

A quanto posso vedere, il valore (contenuto) della variabile $email non è HTML, ma normale testo formattato con a capo ecc.
Se intendi mettere del codice html nella mail, dovresti usare non solo tep_href_link() ma ricreare il link cliccabile, con il tag <a> HTML...

Codice: Seleziona tutto

$email = 
STORE_NAME . "<br /><br />\n" . 
EMAIL_SEPARATOR . "<br />\n" . 
EMAIL_TEXT_ORDER_NUMBER . " " . $oID . "<br />\n"  . 
EMAIL_TEXT_INVOICE_URL . " <a href='" . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "'>" . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "</a><br />\n" . 
EMAIL_TEXT_DATE_ORDERED . " " . tep_date_long($check_status['date_purchased']) . "<br /><br />\n\n" . 
$notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]) . "<br /><br />\n\n" . 
EMAIL_TEXT_SHIP_DATE . $ship_date . "<br /><br />\n\n" . 
EMAIL_TEXT_TRACKING_NO . $tracking_no . "<br /><br />\n\n" . 
EMAIL_TEXT_QUESTIONS;
Prova con questo codice, ma fai ben attenzione che la mail venga effettivamente creata ed inviata in html, ovvero che utilizzi $message->add_html e non $message->add_text , altrimenti vedrai solo il codice html scritto e non "interpretato", nella mail che ti arriva.
Fai qualche prova... in caso non ne venissi a capo, scrivi pure :)