スクリプト経由で変数を備えたカスタムメールを送信します
-
16-10-2019 - |
質問
スクリプトによって生成された1つの変数を使用して、新しいレジスタカスタマーメールを送信したいと思います。
私は使っています $customerObj->sendNewAccountEmail('confirmed');
伝えてください
変数でカスタムメールテンプレートを送信するにはどうすればよいですか?
1つのカスタムメールテンプレートを作成しました 'new register email'
とのトランザクションメールで {{var myvar}}
解決
多かれ少なかれいくつかの配列をセットアップするには、オブザーバーイベントにタックすることをお勧めします(またはCore Writeを作成することをお勧めします。 (Googleで利用できるオブザーバーのリストがあります!):
送信者を配列として宣言します。
$sender = Array('name' => 'You',
'email' => 'you@domain.com');
受信者のアドレスは、文字通り、メールサブジェクトと同様に文字列である必要があります。
$email = 'customer@customer.com';
テンプレートIDを設定します。
$templateId = 40;
そして最後に、テンプレートに送られるカスタム変数を宣言します。
$vars = Array('nameOfCustomer' => $customerName,
'shippingDetails' => $shipping,
'storeName' => $store_name,
'storeURL' => $store_url,
'orderId' => $orderId);
送信関数をフォローアップすると、$ nameを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);
次に、テンプレートでは、varをリテラルとして呼び出します。
{{var storeName}}
所属していません magento.stackexchange