2016年7月13日水曜日

CS-Cart 納品書のカスタマイズ 納品書の罫線の色を変えたい

PDF納品書の罫線の色を変更したい。
罫線の色は、func.phpファイル内に直接記述されているので、これを変更する。

1./addons/localization_jp/func.php ファイルを開く
2.3214行あたりの「 $pdf->SetLineStyle」を修正する

罫線ではなく、項目のセル内の色は同じくfunc.phpファイルの3213行あたり、$pdf->SetFillColorの項目を修正する。

色の指定はRGBで行われているので、黒なら

 'color' => array(0,0,0)

になるし、濃い灰色なら

 'color' => array(102,102,102)

になる。


■どうでも良い話
納品書が標準でPDFダウンロードできるのはCS-Cartのいいところ。

が、しかし、水色に輝く罫線はデザインにうるさいクライアントが眉をひそめるところ。
「あ、大丈夫ですよ、すぐ変更できます」なんて気楽に請け負ってきたら、テンプレートが見つからねえ!なんて方もいるのでは? 俺だけですかそうですか。

予想外に手間取って、この工数はどこから持ってくりゃいいんだ。と余計な悩みまでオマケについてきて困ってます。
この記事を読んで「おお、助かったわ」という方は、その浮いた工数俺に下さい。

CS-Cart v.4.x

CS-Cart4 納品書のカスタマイズ 納品書を納品書兼領収書にしたい

PDF納品書の「納品書」の文字を「納品書兼領収書」に変更したい。

このためには
 1.言語変数に「納品書兼領収書」を登録する
 2.該当部分の変数を1.で登録したものに置き換える
という作業が必要になる。

■言語変数の登録
1.管理画面から[一般設定]-[言語]-[言語変数]を辿る
2.[+]ボタン(言語変数の追加)をクリック
3.言語変数に「jp_pdfinv_invoice_and_receipt」を入力
4.値に「納品書兼領収書」を入力
5.[登録]ボタンをクリックして登録

■変数名を変更
1./addons/localization_jp/func.php ファイルを開く
2.3006行目あたりの「jp_pdfinv_invoice」を「jp_pdfinv_invoice_and_receipt」に書き換え(v4.3.4。該当箇所になければjp_pdfinv_invoiceでファイル内検索)
3.ファイルを保存

■確認
[注文履歴から納品書(PDF)を印刷]リンクをクリックしてPDFをダウンロード、確認。

■備考
書類を変更したのだから「納品書(PDF)を印刷」も「納品書(PDF)を印刷」
管理画面の言語変数で「print_pdf_invoice」を検索して書き換える。

■どうでもいい話
CS-Cartにはユーザーがマイページの注文履歴から納品書をPDF出力できる機能がある。
(管理者からも注文履歴を辿って同じ事ができる)

ところがこの納品書、他の書類と違ってテンプレートが見つからない。あげく言語変数で「納品書」と検索してもヒットしない。

実は、納品書はテンプレートではなくfunc.phpの中で直接生成されており、言語変数では「納品書」ではなく「納 品 書」で登録されている。

 ※つまり「納 品 書」で検索すればヒットする

こんなコネタに全部ひっかかったため、どこを変更すれば良いのかを探るのにずいぶん時間がかかった。

納品書に関しては、日本人離れしたヴィヴィッドな色合いの罫線についてクライアントから変更してくれ、と言われることもあるだろうが、こちらについてもfunc.php内に記述することで解決する。

CS-Cart v4.x