EC-CUBE 2.11.0でのCSV出力項目の追加

EC-CUBEには、配送ソフトなどに商品情報、送り先住所などを取り込めるように、受注データをCSV形式で出力する機能がある。
今回、ゆうパックの送り状を印刷するソフト「ゆうパックプリント」にEC-CUBEが出力するCSVデータを取り込むことになった。

ゆうパックで商品を配送する場合、通常の配送と代引きサービスを利用する代引き配送の2つを区別するために、「代引種別」0:利用なし、1:利用ありという項目がCSVデータの中に必要になる。

しかし、EC-CUBEの出力CSV項目カスタマイズ画面には、該当する項目が存在しない。しかし、データベースのテーブルを見ると、dtb_orderのpayment_idが4の時が代引きでの配送データとなっていた。

そこで、以下のSQL文を実行すると、CSV出力項目カスタマイズ画面に「代引フラグ」として出力項目が選択できるようになった。

insert into dtb_csv(no, csv_id,col,disp_name,rank,update_date) values(201, 3, E'CASE WHEN payment_id=4 THEN \'1\' ELSE \'0\' END AS daibiki_flg', '代引フラグ', 58, 'now());

select setval('dtb_csv_no_seq','202');

csv_id=3が、受注データ出力用CSV
csv_id=3のレコードのrankが、1〜57まで使っていたので、58を指定した。
noは、全体で、200まで使っていたので、201を指定し、さらに、dtb_csv_no_seqのlast_valueを1つインクリメントした


※データベースはPostgreSQLなので、エスケープする場合は、E'.....'と一番外側のシングルクオートの前に「E」をつけるそうだ

投稿日:2011-06-29