[EC-CUBE4.2] 納品書 左上の名前・住所欄を配送先ではなく注文者の情報にする方法
EC-CUBE4.2で、納品書の左上に表示される名前・住所欄を、配送先情報ではなく注文者情報に変更する方法をご紹介します。
標準仕様では配送先情報が出力される
EC-CUBE4.2の「受注管理」>「受注一覧」から出力できる納品書では、左上の名前・住所欄に配送先の情報が表示されます。
通常は問題ありませんが、贈答用などで注文者と配送先が異なる場合、納品書に注文者情報を記載したいケースがあります。
このような場合、標準の仕様では不便です。
そこで、納品書の左上に配送先ではなく、注文者の情報を表示するためのカスタマイズ方法をご紹介します。
カスタマイズ方法
以下の手順でファイルを編集します。
注意事項
・作業を始める前に、必ずファイルのバックアップを取ってください。
・編集は自己責任で行ってください。
編集するファイル
src/Eccube/Service/OrderPdfService.php
修正箇所
「// 購入者情報部」とコメントされているコード内の $Shipping を $Order に変更します。
※具体的な修正箇所は以下の通りです。
・修正前のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 購入者都道府県+住所1 // $text = $Order->getPref().$Order->getAddr01(); $text = $Shipping->getPref().$Shipping->getAddr01(); $this->lfText(27, 47, $text, 10); $this->lfText(27, 51, $Shipping->getAddr02(), 10); // 購入者住所2 // 購入者氏名 if (null !== $Shipping->getCompanyName()) { // 会社名 $text = $Shipping->getCompanyName(); $this->lfText(27, 57, $text, 11); // 氏名 $text = $Shipping->getName01().' '.$Shipping->getName02().' 様'; $this->lfText(27, 63, $text, 11); } else { $text = $Shipping->getName01().' '.$Shipping->getName02().' 様'; $this->lfText(27, 59, $text, 11); } |
・修正後のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 購入者都道府県+住所1 $text = $Order->getPref().$Order->getAddr01(); // $text = $Shipping->getPref().$Shipping->getAddr01(); $this->lfText(27, 47, $text, 10); $this->lfText(27, 51, $Order->getAddr02(), 10); // 購入者住所2 // 購入者氏名 if (null !== $Order->getCompanyName()) { // 会社名 $text = $Order->getCompanyName(); $this->lfText(27, 57, $text, 11); // 氏名 $text = $Order->getName01().' '.$Order->getName02().' 様'; $this->lfText(27, 63, $text, 11); } else { $text = $Order->getName01().' '.$Order->getName02().' 様'; $this->lfText(27, 59, $text, 11); } |
修正後の動作確認
修正したファイルをサーバーにアップロード後、「受注管理」>「受注一覧」から納品書を出力します。
左上の名前・住所欄が注文者情報になっていることを確認できれば完了です。