トランソニックソフトウェア

ブログ
BLOG

2023.12.26

【EC-CUBE4】受注CSVに合計の税抜きの列を追加する

税抜きに限らず、テーブルにそのまま存在しないデータをCSVに吐きたいという記事です。

2024/11/06 明らかに酷い実装をしていたので修正しました。すみません。

マイグレーションする

まず、「dtb_csv」に「税抜き」の行を追加するためにマイグレーションを作成します。

「app\DoctrineMigrations」に「Version現在日時.php」のようなファイルが生成されますので、

生成されたファイルの public function up(Schema $schema): void の部分にSQLを書きます。

Entityの部分はそこから値を取らないので何でもいいですが、(作りを見ればそれはそうなのですが)NULL不可なので何か入れておきます。

マイグレーションを実行します。

税抜きの行が追加されました。コマンドを打ってyesかnoか聞かれたらyesでいいです。

管理画面の「店舗設定>CSV出力項目設定>受注CSV」を見ると「出力する項目」の一番下に「税抜き」があると思います。

コントローラーをカスタマイズする

「app\Customize\Controller\Admin\Order\OrderController.php」を作成します。(既に存在したらそれを編集します)

その中の protected function exportCsv(Request $request, $csvTypeId, $fileName) の中の

CSV出力項目と合致するデータを取得している部分を以下のように編集します。

触ったのは if($Csv->getDispName() == "税抜き"){ のifで括ってある所だけです。

税抜きに限らず、どんな内容でもこの方法で好きな内容をCSVに吐き出すことが可能です。