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