inviare una mail personalizzato con variabili tramite script
-
16-10-2019 - |
Domanda
Voglio inviare nuove email registro cliente con una variabile generato da script.
Sto cercando utilizzando $customerObj->sendNewAccountEmail('confirmed');
Informi
Come posso inviare email template personalizzato con variabili?
Ho creato un modello personalizzato di e-mail 'new register email'
nelle e-mail transazionali con {{var myvar}}
Soluzione
Più o meno un paio di matrici per l'installazione, vorrei suggerire virata su un evento osservatore (o una riscrittura di base, nel qual caso si trova la funzione di invio per le registrazioni dei clienti nella cartella cliente nucleo mago!) Per inviare la tua script personalizzato fuori (c'è un elenco degli osservatori disponibili se google!):
Dichiarare il mittente come un array:
$sender = Array('name' => 'You',
'email' => 'you@domain.com');
L'indirizzo del destinatario, proprio letteralmente bisogno di essere una stringa, in modo simile alla posta soggetto.
$email = 'customer@customer.com';
Impostare il modello ID:
$templateId = 40;
E infine dichiarare le variabili personalizzate da inviare insieme al template:
$vars = Array('nameOfCustomer' => $customerName,
'shippingDetails' => $shipping,
'storeName' => $store_name,
'storeURL' => $store_url,
'orderId' => $orderId);
Seguita con la funzione di invio, tendo a lasciare solo il nome $ come un null var:
$storeId = Mage::app()->getStore()->getId();
$translate = Mage::getSingleton('core/translate');
Mage::getModel('core/email_template')
->setTemplateSubject($mailSubject)
->sendTransactional($templateId, $sender, $email, $name, $vars, $storeId);
Poi, nel tuo modello chiamare il var come letterale, ad esempio:
{{var storeName}}