Eccube 2.13系 帳票のカスタマイズについて [EC-CUBE 2.12.2] 帳票出力でお届け先情報も出力したい

Eccube 2.13系 帳票のカスタマイズについて [EC-CUBE 2.12.2] 帳票出力でお届け先情報も出力したい

コミュニティにこんな質問がありましたので、できるかなと思い、やってみました。
お買上げ明細書(納品書)にお届け先を明記するには?

eccube 帳票 電話番号を表示 2.13

$text = “電話番号 : “.$this->arrDisp[‘order_tel01′].”- “.$this->arrDisp[‘order_tel02′].”- “.$this->arrDisp[‘order_tel03′];
$this->lfText(27,63,$text, 10); //お届け先TEL

1.data/class/SC_Fpdf.php の 155行目付近に以下を書き加えました。

// 配送先情報
$text = '〒 '.$this->arrDisp['shipping_zip01'].' - '.$this->arrDisp['shipping_zip02'];
$this->lfText(23, 243, $text, 10); //配送先郵便番号
$text = $this->arrPref[$this->arrDisp['shipping_pref']] . $this->arrDisp['shipping_addr01'];
$this->lfText(27, 247, $text, 10); //配送先都道府県+住所1
$this->lfText(27, 251, $this->arrDisp['shipping_addr02'], 10); //配送先住所2
$text = $this->arrDisp['shipping_name01'].' '.$this->arrDisp['shipping_name02'].' 様';
$this->lfText(27, 259, $text, 11); //配送先氏名

IfText メソッドの第一引数がX方向の位置、第二引数がY方向の位置になりますので、
適当に数値を変えて、希望する場所に配置してください。

 

2.data/class/SC_Fpdf.php の 300行目付近にある、lfGetOrderData メソッドを以下のように修正しました。

// 受注データの取得
function lfGetOrderData($order_id) {
    if (SC_Utils_Ex::sfIsInt($order_id)) {
        // DBから受注情報を読み込む
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $where = 'o.order_id = ?';
        $arrRet = $objQuery->select('*', 'dtb_order as o LEFT JOIN dtb_shipping as s ON o.order_id = s.order_id', $where, array($order_id));
        $this->arrDisp = $arrRet[0];
        list($point) = SC_Helper_Customer_Ex::sfGetCustomerPoint($order_id, $arrRet[0]['use_point'], $arrRet[0]['add_point']);
        $this->arrDisp['point'] = $point;

        // 受注詳細データの取得
        $arrRet = $this->lfGetOrderDetail($order_id);
        $arrRet = SC_Utils_Ex::sfSwapArray($arrRet);
        $this->arrDisp = array_merge($this->arrDisp, $arrRet);

        // その他支払い情報を表示
        if ($this->arrDisp['memo02'] != '') {
            $this->arrDisp['payment_info'] = unserialize($this->arrDisp['memo02']);
        }
        $this->arrDisp['payment_type'] = 'お支払い';
    }
}

本来、受注データの取得ということで、dtb_order テーブルしか参照していないのですが、
LEFT JOIN で dtb_shipping も参照し、受注データに関連する配送情報も合わせて取得するようにしました。
こうすれば、$this->arrDisp に配送情報も格納されますので、1番の作業とあわせて、配送先情報が出力可能になります。

 

一番下の備考欄に、配送先情報が出力されるはずですので、帳票PDFを生成して確認してみてください。
あとは出力位置を地道に変えてあげれば良いと思います。

2.13系で、帳票(納品書)

お買い上げ明細
[ご注文日]
[注文番号]
の下に、お支払方法を表記したいのですが
data/class/SC_Fpdf に追記することはわかるのですが
どのように追記すればよいのか、教えて下さい。

data/class/SC_Fpdfの

  // お届け先情報  $this->SetFont('SJIS', '', 10);  $this->lfText(25, 125, SC_Utils_Ex::sfDispDBDate($this->arrDisp['create_date']), 10); //ご注文日  $this->lfText(25, 135, $this->arrDisp['order_id'], 10); //注文番号

の下に

  $this->lfText(25, 145, $this->arrDisp['payment_method'], 10); //決済方法

を追加します。
後は、
data\Smarty\templates\admin\pdf\nouhinsyo1.pdf
を修正します。

Re: 2.13系 帳票のカスタマイズについて

ありがとうございました。

無事、変更することが出来ました。

 

 

eccubeorg

http://www.eccube.org

You may also like...

1 Response

  1. 中村 より:

    /data/class/pages/admin/order/ LC_Page_Admin_Order_Pdf.php

    帳票タイトル
    ※未入力時はデフォルトのタイトルが表示されます。
    お買い上げ明細書→ 請求書