【EC-CUBE3】会員情報の項目を追加する方法

EC-CUBE3の会員情報の項目を追加する方法です。

EC-CUBE3のバージョンが3.0.13以降のやり方です。

プラグインのひな形を作成

まず、コンソールでプラグインのひな形を作成します。

php app/console plugin:develop generate

プラグイン名は「会員プロフィール」、プラグインコードは「Profile」として下さい。

以下の4つのフックポイントも設定して下さい。

admin.customer.edit.index.initialize
admin.customer.edit.index.complete
front.mypage.change.index.initialize
front.mypage.change.index.complete

dcm.ymlファイル作成

次にdcm.ymlファイルを用意します。

profile_idとnickname、customer_idのシンプルなテーブルです。

manyToOneでdtb_customerテーブルとリレーションさせています。

ORMのパスを追加

config.ymlファイルにormのパスを追加します。

エンティティクラス作成

コンソールでエンティティクラスを作成します。

php app/console  plugin:develop entity

リポジトリを追加

先程エンティティクラスを自動生成した際にリポジトリクラスも生成されているのでリポジトリクラスを登録します。

プラグインマネージャーを編集

プラグインを有効化した時にplg_profileテーブルを作成するように以下のように編集します。

event.ymlファイルを編集

フロント画面と管理画面の処理を共通化するため、コンソールでプラグインのひな形を作成したときにできたevent.ymlファイルを以下のように編集します。

フックポイントを利用してフォームを拡張

フックポイントを利用してフロント画面のマイページの会員情報編集、管理画面の会員登録・編集にニックネームという新しい項目を追加します。

これで会員情報に新しい項目を追加することができます。

もっと項目を追加したいときは、Plugin.Profile.Entity.Profile.dcm.ymlにフィールドを追加してマイグレーションして下さい。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください