Как показать дату создания счета на Magento

Теперь в magento, когда я печатаю счет-фактуру в формате PDF, он показывает «Дата заказа». Нам нужно заменить его на «Дату создания счета-фактуры».

Можете ли вы сказать мне, как это сделать?

Спасибо.


person user1916533    schedule 10.01.2013    source источник


Ответы (3)


Загрузите счет по

$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();
}
person MagentoDiary    schedule 10.01.2013
comment
Спасибо. Я попробовал это, а также этот вариант: $invoice = Mage::getModel('sales/order_invoice')-›loadByIncrementId($order-›getOrderId()); но он всегда показывает сегодня как дату создания, а не реальную дату создания... вы можете мне помочь? Спасибо. - person user1916533; 14.01.2013
comment
Можете ли вы точно сказать, какое место вы хотите изменить в интерфейсе или в панели администратора? - person MagentoDiary; 14.01.2013
comment
@user1916533 user1916533 у меня проблема с той же датой, как ты можешь это решить? - person Ōkami X Oukarin; 07.04.2015
comment
мне тоже, подскажите как это исправить? - person Pranav Patel; 22.05.2017

Поскольку 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?.

person Jernej Golja    schedule 10.01.2013
comment
Спасибо, не могли бы вы сказать мне, как именно показать дату счета-фактуры? - person user1916533; 10.01.2013

У меня была такая же проблема, и я добавил дату счета в 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'
        );
person Anže Voh    schedule 02.04.2014