Magento Pagamento Bloco De Informações Personalizadas
-
13-12-2019 - |
Pergunta
Eu quero mostrar a "data de Criação" de uma encomenda em:
Sales -> Orders -> User -> Information -> Payment methods
No momento eu estou 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;
}
}
A linha que não está funcionando é esse:
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
No momento em que ele dá NULL
, mas eu espero voltar o costume data de criação da ordem (no formato aaaa-mm-dd hh:mm:ss).Quando eu uso Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt();
Ele retorna o primeiro criado na data de primeira ordem, mas eu preciso dele para a ordem selecionada.
Alguém tem alguma idéia do que está errado?
Solução
$info
irá realizar uma instância de Mage_Payment_Model_Info
ou Mage_Sales_Model_Order_Payment
(que se estende Mage_Payment_Model_Info
)
A criação da data que você deseja obter é a data de criação da real ordem de venda, mas você está tentando obtê-lo a partir de informações do modelo.
Se você gostaria de chamada $info->getOrder()->getCreatedAt()
em seguida, que deve funcionar.