Frage

Ich möchte das „Erstellungsdatum“ einer Bestellung anzeigen in:

Sales -> Orders -> User -> Information -> Payment methods

Im Moment verwende ich diesen 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;
    }
}

Die Zeile, die nicht funktioniert, ist diese:

Mage::helper('sales')->__('Creation date') => $info->getCreatedAt(),

Im Moment gibt es NULL, aber ich erwarte, dass das benutzerdefinierte Erstellungsdatum der Bestellung zurückgegeben wird (im Format jjjj-mm-tt hh:mm:ss).Wenn ich es benutze Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt(); Es gibt das erste Erstellungsdatum der ersten Bestellung zurück, aber ich benötige es für die ausgewählte Bestellung.

Hat jemand eine Idee, was falsch ist?

War es hilfreich?

Lösung

$info wird eine Instanz von enthalten Mage_Payment_Model_Info oder Mage_Sales_Model_Order_Payment (was sich erstreckt Mage_Payment_Model_Info)

Das Erstellungsdatum, das Sie erhalten möchten, ist das Erstellungsdatum des tatsächlichen Kundenauftrags, aber Sie versuchen, es aus dem Infomodell abzurufen.

Wenn Sie anrufen würden $info->getOrder()->getCreatedAt() dann sollte das funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top