Magento Payment Block Custom Info
-
13-12-2019 - |
Вопрос
Я хочу показать «дату создания» заказа в:
Sales -> Orders -> User -> Information -> Payment methods
.
На данный момент я использую этот код:
class Company_Module_Block_Info extends Mage_Payment_Block_Info
{
protected function _prepareSpecificInformation($transport = null)
{
if (null !== $this->_paymentSpecificInformation) {
return $this->_paymentSpecificInformation;
}
$info = $this->getInfo();
//Zend_Debug::dump($info); //List with created_at date
$transport = new Varien_Object();
$transport = parent::_prepareSpecificInformation($transport);
$transport->addData(array(
Mage::helper('payment')->__('Expiration date') => $info->getExpireDate(),
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
Mage::helper('payment')->__('Picked up by') => $info->getPickupCustomer()
));
return $transport;
}
}
.
Линия, которая не работает, это одна:
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
.
На данный момент он дает NULL
, но я ожидаю, что вернуть пользовательскую дату создания заказа (в формате yyyy-mm-dd hh: mm: ss).Когда я использую Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt();
, он возвращает первый созданный на дату первого порядка, но мне нужно его для выбранного порядка.
У кого-то есть идея, что не так?
Решение
$info
будет иметь экземпляр Mage_Payment_Model_Info
или Mage_Sales_Model_Order_Payment
(который расширяет генеракодицетагCode)
Дата создания, которую вы хотите получить, это дата создания фактического заказа на продажу, но вы пытаетесь получить его из информационной модели.
Если вы позвоните Mage_Payment_Model_Info
, то это должно работать.