如何在事务性电子邮件magento 1.9.2.1中获取默认地址

时间:2016-03-09 15:52:43

标签: email magento transactional

如何在交易电子邮件中打印新注册客户的默认地址信息?

我在网上找不到任何有效的信息。

到目前为止我所拥有的:

Neue Kundenregistrierung bei {{var store.getName()}}.<br />
E-Mail: {{var customer.getEmail()}}<br />
Vorname: {{var customer.getFirstname()}}<br />
Nachname: {{var customer.getLastname()}}<br />
Strasse: {{var customer.getAddresses().getStreetFull()}}<br />
Stadt: {{var customer.getAddresses().getCity()}}<br />
PLZ: {{var customer.getAddresses().getPostcode()}}<br />
Telefon: {{var customer.getAddresses().getTelephone()}}<br />
Firma: {{var customer.getAddresses().getCompany()}}<br />
ID: {{var customer.ID}}

但getAddresses()返回一个数组

1 个答案:

答案 0 :(得分:0)

找到正确的解决方案。带有交易电子邮件的东西是,你需要在通过magento发送邮件之前传递邮件中所需的数据。

我找到了发送客户通知电子邮件的代码片段,并在另一个数组中传递了一组客户地址。

像那样:

    $addressData = $session->getCustomerAddress(); //get customers address from      session variable

                $emailTemplate  = Mage::getModel("core/email_template")
                    ->loadDefault("customer_notification");

                $emailTemplateVariables = array();
                $emailTemplateVariables["customer"] = $customer;
                $emailTemplateVariables["plz"] = $addressData['postcode'];
                $emailTemplateVariables["city"] = $addressData['city'];
                $emailTemplateVariables["company"] = $addressData['company'];
                $emailTemplateVariables["street"] = $addressData['street'][0];
                $emailTemplateVariables["phone"] = $addressData['telephone'];

                $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables);

                $mail = Mage::getModel("core/email")
//                ->setToName("Konstantin")
                ->setToEmail("mailtosendto@provider.com")
                ->setBody($processedTemplate)
                ->setFromEmail("senderemail@provider.com")
                ->setFromName("senders name")
                ->setSubject("**subject appering in mail header**")
                ->setType("html");
                try{
                    $mail->send();
                }
                catch(Exception $error)
                {
                    Mage::getSingleton("core/session")->addError($error->getMessage());
                    return false;
                }