Электронное письмо с новым заказом пользовательского модуля Magento не показывает элементы заказа

Я пытаюсь отправить электронное письмо программно с сеткой элементов заказа, используя

{{layout handle="sales_email_order_items" order=$order}} 

но он не работает. он пустой. Но

{{htmlescape var=$order.getCustomerName()}} 

правильно отображать имя клиента. Также правильно отображаются адрес доставки, платежный адрес, способ оплаты и т. д.

Чего не хватает?

Magento вер. 1.9.0.1

Заранее спасибо


person Febin Thomas    schedule 05.12.2014    source источник
comment
Вы узнали, почему это произошло? У меня такая же проблема на той же версии мага   -  person develophper    schedule 27.04.2015


Ответы (1)


В вашем пользовательском модуле вы должны установить все необходимые параметры.

...
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
$mailer->setStoreId($storeId);
$mailer->setTemplateId($templateId);
$mailer->setTemplateParams(array(
            'order'        => $this, /* This is just order object. Please check if this object is null or not. */
            'billing'      => $this->getBillingAddress(),
            'payment_html' => $paymentBlockHtml
        )
    );
...
person Alex Ivanov    schedule 05.12.2014
comment
параметры правильные.. вот почему я получаю другие детали заказа, такие как адрес доставки, способ оплаты, имя клиента и т. д.. - person Febin Thomas; 05.12.2014
comment
{{var order.getShippingAddress().format('html')}}. Ага. Если эти параметры правильные, вы можете получить все из них (выставление счетов, доставка...) правильно. - person Alex Ivanov; 05.12.2014
comment
все остальное отображается правильно, кроме таблицы элементов заказа. - person Febin Thomas; 05.12.2014
comment
Пожалуйста, проверьте свой XML-макет: frontend/default/[Ваша тема]/layout/sales.xml. В этом файле есть конфигурация макета: ‹sales_email_order_items›...‹/sales_email_order_items› - person Alex Ivanov; 05.12.2014