【EC-CUBE3】管理画面に項目を追加する手順まとめ【プラグイン不要】

【EC-CUBE3】管理画面に項目を追加する手順まとめ【プラグイン不要】

こんにちは。
今回はEC-CUBE3の管理画面に項目を追加する手順をまとめました。
意外と簡単なので、これを参考にやってみてください。
前提条件は以下の通りです。

  • プラグインを使わない
  • データベース・SQLに関する最低限の知識があり、テーブルにカラムを追加する方法を知っている
  • ソースファイルを編集し、FTP等でアップロードする手順を理解している

今回の例では、商品登録画面に「サイズ」という項目を追加したいと思います。

テーブルにカラムを追加

データベースを見ると、商品情報を保持している「dtb_product」というテーブルがあるはずです。
このテーブルに新たにカラムを追加します。

今回の例では、「サイズ」という項目を追加します。
入力値としては「縦〇〇 × 横〇〇」という入力をしたいので、
カラムの型はtextとします。

追加した項目に対するアクセサメソッドを定義する

対象ファイル:src/Eccube/Entity/Product.php

まずはクラスメンバの追加です。
$sizeという名前で追加していきます。
基本的にすでに存在する「free_area」という変数が、型も一緒なので参考にしましょう。

次にゲッター、セッターのアクセサメソッドを追加します。

データベースの定義ファイルに項目追加

対象ファイル:src/Eccube/Resource/doctrine/Eccube.Entity.Product.dcm.yml

次に、データベースの定義をしているymlファイルに
追加した項目についての情報を追加しましょう。
ここもfree_areaという項目を参考に追加します。

入力フォームの定義ファイルに項目追加

対象ファイル:src/Eccube/Form/Type/Admin/ProductType.php

次に、入力フォームの定義をしているファイルに項目追加です。
今回は複数行の入力は想定していませんので、型は「text」としています。

商品登録画面に追加した項目を表示する

対象ファイル:src/Eccube/Resource/template/admin/Product/product.twig

これで準備が整ったので、いよいよ管理画面に
追加した項目を表示しましょう。

これで管理画面に追加した項目が表示されるはずです。
一度試しに入力をしてみて、
しっかりデータが登録されるか確認してみましょう。

まとめ

いかがでしょうか?
編集するファイルは若干多いですが、
手順としては単純で簡単ではないでしょうか。
これくらいの作業で項目を追加できて、
データベースへの更新やバリデーションチェックができているというのは魅力的ですね。