Informations personnalisées sur le blocage des paiements Magento
-
13-12-2019 - |
Question
Je souhaite afficher la "Date de création" d'une commande dans :
Sales -> Orders -> User -> Information -> Payment methods
Pour le moment j'utilise ce code :
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 ligne qui ne fonctionne pas est celle-ci :
Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),
Pour le moment ça donne NULL
, mais je m'attends à renvoyer la date de création personnalisée de la commande (au format aaaa-mm-jj hh:mm:ss).Quand j'utilise Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt();
Il renvoie le premier créé à la date de la première commande, mais j'en ai besoin pour la commande sélectionnée.
Quelqu'un a-t-il une idée de ce qui ne va pas ?
La solution
$info
détiendra une instance de Mage_Payment_Model_Info
ou Mage_Sales_Model_Order_Payment
(qui s'étend Mage_Payment_Model_Info
)
La date de création que vous souhaitez obtenir est la date de création de la commande client réelle, mais vous essayez de l'obtenir à partir du modèle d'information.
Si tu appelais $info->getOrder()->getCreatedAt()
alors ça devrait marcher.