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 ?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top