1

Magento で請求書を PDF として印刷すると、「注文日」が表示されます。「請求書作成日」に置き換える必要があります。

その方法を教えていただけますか?

ありがとう。

4

3 に答える 3

1

請求書を読み込む

$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();
}
于 2013-01-10T20:00:00.973 に答える
0

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」モジュールを作成する方法で説明されています。.

于 2013-01-10T16:58:06.943 に答える