【EC-CUBE4】会員情報項目を追加するプラグインを作る方法

EC-CUBE4で会員情報項目を追加するプラグインを作る方法です。

まず最初にコマンドでプラグインの雛形を生成します。

上記コマンドを実行するとプラグインジェネレータのウィザードが開始されますので任意のテキストを入力してください。

今回は会員情報にニックネームを追加します。

入力が完了したらPluginディレクトリ内にNicknameディレクトリが自動で生成されます。

会員情報テーブルにニックネームフィールドを追加

会員情報テーブル(dtb_customer)にニックネームフィールドを追加するため、Customer Entityをtraitと@EntityExtension アノテーションを使って拡張します。

CustomerTraitを作成してEntityディレクトリに配置してください。

サンプルコードは以下のとおりです。

EC-CUBE4のドキュメントにもEntityの拡張方法が掲載されています。

フォームにニックネーム項目を追加

ニックネームカラムを追加したので、次はフォームにニックネームを追加します。

先程作成したCustomerTraitのnicknameフィールドに@FormAppend アノテーションを追加します。

@FormAppend アノテーションを追加することでニックネーム項目が自動で生成されます。

@FormAppend アノテーションのauto_renderをfalseにして、form_themeに自作のフォームのパスを指定するとオリジナルの入力項目が作成できます。

@FormAppend アノテーションのtypeは入力項目の種類を指定しています。今回はTextTypeを指定しています。

@FormAppend アノテーションのoptionsはlabelやrequiredなどのオプションが指定できます。

@NotBlankで入力チェックも出来ます。

詳しくはEC-CUBE4ドキュメントの「Entity からフォームを自動生成する」をご確認ください。

以上でプラグインは完成です。

動作確認のためコマンドでプラグインをインストールして有効化します。

プラグインのインストールと有効化

プラグインはコマンドでインストールと有効化が出来ます。

プラグインのインストール方法は以下のとおりです。

プラグインの有効化の方法は以下のとおりです。

プラグインを有効化すると、「新規会員登録ページ」、マイページの「会員情報編集ページ」、管理画面の「会員登録ページ」にニックネーム項目が追加されます。

ニックネームを入力して保存するとニックネームがデータベースに保存されます。

コメントを残す

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