EC-CUBE を利用していると「ここに項目を増やしたい」ということがよくあります。
今回は、受注情報に発送伝票Noを入れられるカラムを追加する例をご紹介します。
伝票番号が入力できるようになれば、伝票番号入りの「発送しましたメール」を出すのが楽になりますよね!
最終的には、CSVファイルで読み込むことが目標です。

EC-CUBE2.13系は複数のお届け先に対応しているので、伝票番号はお届け先ごとに入れる必要があります。
つまり送り状番号は、dtb_order テーブルではなく、dtb_shipping テーブルに保存します。

1.データベースにアクセスする

データベースが MySQL なので、phpMyAdmin などを使って、dtb_shipping テーブルに、カラムを追加します。
通常、phpMyAdmin は、レンタルサーバーのコントロールパネルなどから入れます。
ごくたまにですが、phpMyAdmin はインストールしていないので、自分でインストールしてね、というレンタルサーバーもあるので注意です。
今回は伝票番号を入れるので、deliv_number という名前にしました。
2016-09-21_205506

2.テンプレートを修正する

data/Smarty/templates/admin/order 内の edit.tpl を開きます。
607行目あたりにお届け先情報のテーブルがあるので、743行目あたりのテーブルの最後に行を追加します。
行数はバージョンによって違うかもしれないので、目安ということで。

3.プログラムを修正する

このままだと、数字を入力しても保存されないので、プログラムも変更します。
data/class/pages/admin/order 内の LC_Page_Admin_Order_Edit.php を開きます。
※本当は、data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php に該当部分を丸ごとコピーすべきですが、EC-CUBE3 も出たことですし。もうバージョンアップする予定もないので。
修正する箇所は2か所です。$arrShippingKeys に、「’deliv_number’」を追加します。

次に、lfInitParam で、$objFormParam に、addParam します。
447行目あたり。

これで完成。
あとは、管理画面で番号を入れてみて、保存されることを確認します。
2016-09-21_214220

長野県駒ヶ根市在住。ネットショップ構築とネットショップ運営サポートをしています。このサイトでは、ユーザーさん向けに役立つIT情報や、技術情報のメモを公開しています。詳しいプロフィール