Magento付款块自定义信息
-
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
(其中延伸 Mage_Payment_Model_Info
)
您想要获取的创建日期是实际销售订单的创建日期,但您正在尝试从info模型中获取它。
如果你愿意打电话 $info->getOrder()->getCreatedAt()
那就行了。