Frage

Ich möchte neue Register -Kunden -E -Mails mit einer vom Skript generierten Variablen senden.

Ich versuche es zu benutzen $customerObj->sendNewAccountEmail('confirmed'); Bitte erzähle

Wie kann ich eine benutzerdefinierte E -Mail -Vorlage mit Variable senden?

Ich habe eine benutzerdefinierte E -Mail -Vorlage erstellt 'new register email' in Transaktions -E -Mails mit {{var myvar}}

War es hilfreich?

Lösung

Mehr oder weniger ein paar Arrays, die eingerichtet werden müssen, würde ich empfehlen, ein Observer -Ereignis (oder ein Kernumschreiben zu veranlassen. In diesem Fall finden Sie die Sendungsfunktion für Kundenregistrierungen im Mage -Kern -Kundenordner!), Um Ihr benutzerdefiniertes Skript herauszufinden (Es gibt eine Liste der Beobachter, wenn Sie googeln!)

Deklarieren Sie den Absender als Array:

$sender = Array('name'  => 'You',
        'email' => 'you@domain.com');

Die Empfängeradresse muss nur buchstäblich eine Zeichenfolge sein, ähnlich wie das Mail -Thema.

$email = 'customer@customer.com';

Legen Sie Ihre Vorlagen -ID ein:

$templateId = 40;

Und deklarieren Sie schließlich, dass Ihre benutzerdefinierten Variablen an die Vorlage gesendet werden:

$vars = Array('nameOfCustomer' => $customerName,
              'shippingDetails' => $shipping,
              'storeName' => $store_name,
              'storeURL' => $store_url,
              'orderId' => $orderId);

Nachfolgend mit der Send -Funktion lasse ich den $ namens neue als 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);

Rufen Sie dann in Ihrer Vorlage die VAR als buchstäblich an: zum Beispiel:

{{var storeName}}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top