如何显示发票创建日期上Magento



现在在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'
        );

最新更新