2012-02-10 5 views
1

Magento New Order EmailMagento Получить последний заказ Id на КОМПЕНСАЦИИ Блок Email

видите выше изображение нового подтверждения заказа по электронной почте о Magento. На веб-сайте, который мы разрабатываем, мы используем расширение Fontis Australia (http://www.magentocommerce.com/magento-connect/fontis-australia.html) для реализации метода оплаты BPay. Расширение работает нормально, за исключением того, что в письме с подтверждением заказа Email ref всегда показывает 000000.

Я пытаюсь посмотреть на него и увидеть, что для номера нумерации требуется идентификатор заказа в качестве ввода для генерации правильного номера ссылки. Расширение использует этот код для получения последнего номера заказа на платежном информационном блоке: $ order_id = Mage :: getSingleton ('checkout/session') -> getLastRealOrderId();

Я пытаюсь использовать и печатать результат с другого контроллера, он показывает правильный номер заказа. Но, похоже, что для информационного блока оплаты по электронной почте информация о номере заказа не может быть восстановлена. На самом деле тот же блок также вызывается на странице успешной проверки, и он отображается правильно.

Может кто-нибудь предложить другой способ получить последний идентификатор заказа на платежном информационном блоке по электронной почте Magento?

ответ

3

В информационном шаблоне вы можете использовать $order = $this->getInfo()->getOrder();, чтобы получить Mage_Sales_Model_Order объект. Затем вы можете получить текущий идентификатор заказа на $ order->getData('increment_id').

Но с этим кодом вы получаете ошибку в процессе оформления заказа, потому что $this->getInfo() возвращает другую модель.

Так грязный решение, которое работает для меня без ошибок, это:

$info = $this->getInfo(); 
if ($info instanceof Mage_Sales_Model_Order_Payment) { 
    $order = $info->getOrder(); 
    echo $order->getData('increment_id')); 
} 
+0

Большое спасибо ..! наконец, он работает сейчас! – Calua

Смежные вопросы