现在在magento上,当我打印发票为PDF时,它显示"订单日期"..我们需要将其替换为"发票创建日期"。
你能告诉我怎么做吗?
谢谢。
按
加载发票$invoice = Mage::getModel('sales/order_invoice')->loadByIncrementId($invoiceIncrementId);
然后使用
获取发票日期$createdDate = $invoice->getCreatedAt();
并放入$createdDate,然后从
修改下面的代码$page->drawText(
Mage::helper('sales')->__('Order Date: ') . Mage::helper('core')->formatDate(
$order->getCreatedAtStoreDate(), 'medium', false
),
35,
($top -= 15),
'UTF-8'
);
$page->drawText(
Mage::helper('sales')->__('Invoice Creation Date: ') . Mage::helper('core')->formatDate(
$createdDate, 'medium', false
),
35,
($top -= 15),
'UTF-8'
);
注意:-
如果您有同一订单的多个发票,那么您可以通过
获得所有发票增量id$_invoices = $_order->getInvoiceCollection();
foreach($_invoices as $_invoice){
$_invoice->getIncrementId() = $_invoice->getIncrementId();
}
由于Magento严格通过PHP代码创建订单的PDF(意味着它不使用任何html-> PDF解析器或任何类似的想法),您将不得不扩展这样做的类并相应地修改它。所以,你要找的类是:
Mage_Sales_Model_Order_Pdf_Invoice
使用
方法protected function insertOrder(&$page, $obj, $putOrderId = true)
然后搜索
$page->drawText( Mage::helper('sales')->__('Order Date: ') . Mage::helper('core')->formatDate($order->getCreatedAtStoreDate(), 'medium', false), 35, ($top -= 15), 'UTF-8');
我猜你知道如何用你自己的模块扩展它。如果没有,请参见如何在Magento中创建一个简单的'Hello World'模块?
我也有同样的问题,并将发票日期添加到app/code/core/Mage/Sales/Model/Order/invoice.php的第132行
/* Add document text and number */
$this->insertDocumentNumber(
$page,
Mage::helper('sales')->__('Invoice # ') . $invoice->getIncrementId()
.' '.
Mage::helper('sales')->__('Invoice date: ') . Mage::helper('core')->formatDate(
$invoice->getCreatedAt(), 'medium', false
),
35,
($top -= 15),
'UTF-8'
);