IT女子のお気に入りフォルダ

管理人の備忘録と実践を兼ねた(出来るだけ)役に立つ情報を配信するブログです。

[EC-CUBE2.13]ご注文の流れフォームに追加した任意の項目を管理画面にも表示する

[EC-CUBE2.13]ご注文の流れフォームに任意の入力項目を追加する
で追加した項目を管理画面の受注管理でも確認できるようにしたいと思います。
受注管理>受注登録(受注管理で検索し、編集をクリック)で編集可能項目として表示します。

入力画面に項目を追加

受注登録画面のフォームに項目を追加します。

<変更ファイル>
data/Smarty/templates/admin/order/edit.tpl

LC_Page_Admin_Order_Editの拡張クラスを変更

data/class/pages/admin/order/LC_Page_Admin_Order_Edit.phpの「lfInitParam」
を参考にしながら、
data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php
に以下のように「lfInitParam」を追加し、
$objFormParam->addParam()に項目を増やします。

<変更ファイル>
data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php

public function lfInitParam(&$objFormParam)
{
	parent::lfInitParam($objFormParam);

	//追加項目
	$objFormParam->addParam('追加項目名', 'custom_name', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));

	$objFormParam->setParam($arrShipping);
	$objFormParam->convParam();
}

受注CSVに項目を追加

CSVの出力設定にも追加した項目を増やすにはDBを修正する必要があります。
対象のテーブルは
・dtb_csv
・dtb_csv_no_seq

dtb_csvテーブルに新しく追加した項目を登録します。
各フィールドは以下のとおりです。

no 一意なID。dtb_csv_no_seqのシーケンス値と対応しているので項目を増やしたらシーケンス値も増やす必要がある。
csv_id 出力先CSVの種類。
1:商品管理
2:会員管理
3:受注管理
4:レビュー管理
5:カテゴリ
col テーブルのフィールド名
disp_name 管理画面上で表示される名前
rank 出力される順番。管理画面から変更可。
rw_flg 1:更新可能フィールド
2:読み取り専用フィールド
3:主キーフィールド
status 1:CSV出力する項目
2:CSV出力しない項目
管理画面から変更可。
mb_convert_kana_option 処理中のmb_convert_kanaでフィルダリングする際のオプション。
size_const_type 文字列の長さチェック。
error_check_types addParamで利用する引数と同じ。