【问题标题】:How to get default address in transactional email magento 1.9.2.1如何在交易电子邮件 magento 1.9.2.1 中获取默认地址
【发布时间】:2016-03-09 15:52:42
【问题描述】:

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

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

到目前为止我所拥有的:

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() 返回一个数组

【问题讨论】:

  • 你能打电话给{{var customer.getPrimaryBillingAddress().getCity()}}{{var customer.getPrimaryShippingAddress().getCity()}}

标签: email magento transactional


【解决方案1】:

找到正确的解决方案。 Transactional Emails 的特点是,在通过 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;
                }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-13
    • 2013-11-21
    • 2011-12-29
    • 2012-05-25
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多