سؤال

أريد إظهار "تاريخ الإنشاء" للطلب في:

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

في الوقت الحالي أستخدم هذا الكود:

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;
    }
}

الخط الذي لا يعمل هو هذا:

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

في هذه اللحظة يعطي NULL, ، لكنني أتوقع إرجاع تاريخ الإنشاء المخصص للطلب (بالتنسيق yyyy-mm-dd hh:mm:ss).عندما أستخدم Mage::getModel('sales/order')->getCollection()->getFirstItem(); $order->getCreatedAt(); تقوم بإرجاع أول شيء تم إنشاؤه في تاريخ الطلب الأول، ولكنني أحتاجه للطلب المحدد.

هل لدى أي شخص أي فكرة عما هو الخطأ؟

هل كانت مفيدة؟

المحلول

$info سوف تعقد مثيلا ل Mage_Payment_Model_Info أو Mage_Sales_Model_Order_Payment (الذي يمتد Mage_Payment_Model_Info)

تاريخ الإنشاء الذي تريد الحصول عليه هو تاريخ إنشاء أمر المبيعات الفعلي، ولكنك تحاول الحصول عليه من نموذج المعلومات.

لو اتصلت $info->getOrder()->getCreatedAt() ثم ينبغي أن تعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top