Теперь в magento, когда я печатаю счет-фактуру в формате PDF, он показывает «Дата заказа». Нам нужно заменить его на «Дату создания счета-фактуры».
Можете ли вы сказать мне, как это сделать?
Спасибо.
Теперь в 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'
);
To
$page->drawText(
Mage::helper('sales')->__('Invoice Creation Date: ') . Mage::helper('core')->formatDate(
$createdDate, 'medium', false
),
35,
($top -= 15),
'UTF-8'
);
ПРИМЕЧАНИЕ :-
Если у вас есть несколько счетов-фактур для одного и того же заказа, вы можете получить идентификатор приращения всех счетов с помощью
$_invoices = $_order->getInvoiceCollection();
foreach($_invoices as $_invoice){
$_invoice->getIncrementId() = $_invoice->getIncrementId();
}
Поскольку Magento создает PDF-файл заказов исключительно с помощью PHP-кода (это означает, что он не использует парсер 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');
И я предполагаю, что вы знаете, как расширить его с помощью собственного модуля. Если нет, процесс описан в Как создать простой модуль «Hello World» в Magento?.
У меня была такая же проблема, и я добавил дату счета в 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'
);