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}}

È stato utile?

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}}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top