EC-CUBE3で商品に項目を追加したいというご要望が多く寄せられています。

今回はプラグインを使用せずに商品情報へメーカー名(テキスト)を追加する方法をご紹介します。この手順を守って実施すると各ステップでエラーが起きないためおすすめです。ステップごとに問題が発生しないかどうか確認してみてください。

1. テーブルへのカラム追加

dtb_productテーブルへ”maker”という名前のカラムをtextタイプで追加してください。また、NULLを許可してください。

phpMyAdminやAdminerなどで追加すればかまいませんが、Migrationで作成する方法もありますので別の記事でご紹介します。

マイグレーションによるテーブルへの項目追加

2. エンティティへのプロパティ、セッターゲッター追加

src/Eccube/Entity/Product.php

Productクラス内に次のコードを追加してください。

 

3. データベース定義ファイルへのカラム追加

src/Eccube/Resource/doctrine/Eccube.Entity.Product.dcm.yml

fields一覧に次の項目を追加してください。

 

4. フォーム定義ファイルへの項目追加

src/Eccube/Form/Type/Admin/ProductType.php

5. 管理画面(商品情報登録画面)へフォーム表示

フォームを表示したい場所に記述します。

template/admin/Product/product.twig

6. 商品詳細ページへの表示

template/default/Product/detail.twig

 

以上になります。今回は商品情報に項目を追加しましたが、この方法は会員情報や受注情報などにも応用可能です。
ぜひ参考にしてEC-CUBE3をカスタマイズしてみてください。

今後のバージョンアップにより手順が変わる可能性はありますが、その際はまたこのページでご紹介する予定です。

関連するカスタマイズ

商品マスターに在庫切れを表示するカスタマイズ... 今回ご紹介するのはEC-CUBE3の商品マスターに在庫切れを表示するカスタマイズになります。 Product・ProductClassの関係とEntityの基本動作がわかっていればそう難しいことではありません。 コントローラを修正しなくても、Twig内で完結させることができます。 商品マス...
商品に特定のタグが設定されているかどうかを判断する方法... 商品に対してセールや新着商品などのタグを設定し、商品一覧の中で目立たせたいことがあります。 そのような場合はProduct.phpへタグを判断するメソッドを追加しておくと非常に便利です。 次のコードはタグID、タグ名、タグエンティティ(Tagクラスのインスタンス)のいずれかを引数とし...
商品マスターの並び替え・並び順変更方法 (登録日・価格)... 今回はEC-CUBE3の管理画面内にある商品マスターの並び順をカスタマイズしてみます。 商品マスターは登録されている商品の一覧を表示・絞り込みするための機能です。 商品マスターの並び順はレポジトリクラス(Eccube/Repository/ProductRepository.php)のメ...
注文確認画面のお届け日を変更する方法... 結論 : ShoppingServiceのgetFormDeliveryDates()を確認する。 config.ymlでdeliv_date_end_maxを設定すると表示される選択肢の日数を変更できる。 注文時に選択可能なお届け日を調整する方法をご紹介します。 この選択可能な日付のリス...

弊社はEC-CUBE公式インテグレートパートナーです。

カスタマイズやプラグイン開発お任せください