المعلومات المخصصة لحظر الدفع في Magento
-
13-12-2019 - |
سؤال
أريد إظهار "تاريخ الإنشاء" للطلب في:
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()
ثم ينبغي أن تعمل.
لا تنتمي إلى magento.stackexchange