Información personalizada del bloque de pago de Magento
-
13-12-2019 - |
Pregunta
Quiero mostrar la "Fecha de creación" de un pedido en:
Sales -> Orders -> User -> Information -> Payment methods
Por el momento estoy usando este código:
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;
}
}
La línea que no funciona es esta:
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
De momento da NULL
, pero espero devolver la fecha de creación personalizada del pedido (en formato aaaa-mm-dd hh:mm:ss).cuando uso Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt();
Devuelve el primero creado en la fecha del primer pedido, pero lo necesito para el pedido seleccionado.
¿Alguien tiene alguna idea de lo que está mal?
Solución
$info
celebrará una instancia de Mage_Payment_Model_Info
o Mage_Sales_Model_Order_Payment
(que se extiende Mage_Payment_Model_Info
)
La fecha de creación que desea obtener es la fecha de creación del pedido de venta real, pero está intentando obtenerla del modelo de información.
si llamarías $info->getOrder()->getCreatedAt()
entonces eso debería funcionar.