Blocco di pagamento magento Informazioni personalizzate
-
13-12-2019 - |
Domanda
Voglio mostrare "Data di creazione" di un ordine in:
Sales -> Orders -> User -> Information -> Payment methods
.
Al momento sto usando questo codice:
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 linea che non funziona è questa:
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
.
Al momento dà NULL
, ma mi aspetto di restituire la data di creazione personalizzata dell'ordine (in formato yyyy-mm-dd hh: mm: ss).Quando utilizzo Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt();
restituisce il primo creato alla data del primo ordine, ma ne ho bisogno per l'ordine selezionato.
Qualcuno ha idea di ciò che è sbagliato?
Soluzione
$info
terrà un'istanza di Mage_Payment_Model_Info
o Mage_Sales_Model_Order_Payment
(che si estende Mage_Payment_Model_Info
)
La data di creazione che si desidera ottenere è la data di creazione dell'ordine di vendita effettivo, ma si sta tentando di ottenerlo dal modello di informazioni.
Se chiameresti $info->getOrder()->getCreatedAt()
, allora dovrebbe funzionare.