Open1

EC-CUBE案件のキャッチアップ手順

yamamotoyamamoto

EC-CUBE案件のキャッチアップ手順

1. プロジェクトの全体構成を把握

まず、ディレクトリの全体構造を確認し、どの部分がカスタマイズされているのかを把握します。

EC-CUBE プロジェクト構成
├── app/                # カスタマイズや設定変更用のディレクトリ
├── src/                # コア機能が含まれるディレクトリ(基本的に編集しない)
├── config/             # 設定ファイルが格納されるディレクトリ
├── var/                # キャッシュ・ログなどの一時ファイル
├── html/               # 公開ディレクトリ(エントリーポイント)
├── vendor/             # Composer で管理される外部ライブラリ
└── plugins/            # プラグインのソースコード(プラグインによる)

2. app/ - カスタマイズの中心

EC-CUBEのカスタマイズはapp/ディレクトリに集中しているため、最初にチェックすべきポイント。

(1) app/Customize/ - 独自カスタマイズ

確認すべき点:

  • Controller/(独自コントローラがあるか)
  • Repository/(データ取得ロジックのカスタマイズ)
  • Service/(独自のサービスクラス)

どのように見るか:

  • Controller/ → 追加・変更されているコントローラを確認
  • Service/ → 追加されているサービスがないか確認し、services.yamlの設定と照合
  • Repository/ → 既存のEC-CUBEのエンティティをどう拡張しているか確認

(2) app/Plugin/ - プラグイン

確認すべき点:

  • app/Plugin/ 配下にカスタムプラグインがあるか
  • Plugin.yaml(プラグインの設定情報)
  • Controller/(プラグイン独自のコントローラ)
  • Entity/(プラグインが追加するエンティティ)
  • Repository/(プラグインのデータ取得ロジック)

どのように見るか:

  • app/Plugin/ 配下のディレクトリを確認し、どんなプラグインが導入されているかを把握
  • EC-CUBEの管理画面の「オーナーズストア > プラグイン一覧」と照合して、有効・無効の状態を確認

(3) app/config/eccube/ - 設定ファイル

確認すべき点:

  • services.yaml(独自サービスの登録)
  • routes.yaml(カスタムルートの追加)

どのように見るか:

  • services.yamlapp/Customize/Service/ 内のカスタマイズ内容と対応するか確認
  • routes.yaml@Route アノテーションではなく、ここでルートを追加しているケースもあるためチェック

3. config/ - フレームワークの設定

config/ はSymfonyの設定ファイルが格納されているディレクトリ。EC-CUBE全体の挙動を確認するために、以下のファイルを見る。

(1) config/bundles.php - バンドルの登録

確認すべき点:

  • どのバンドルが登録されているか(カスタムバンドルがあるか)

どのように見るか:

  • YourCustomBundle::class のようなカスタムバンドルが追加されていれば、src/YourCustomBundle/ 内の構造を確認

(2) config/packages/ - 各種設定

確認すべき点:

  • doctrine.yaml(データベース設定)
  • twig.yaml(テンプレート設定)
  • security.yaml(認証・認可設定)

4. src/ - コア機能の確認(編集は推奨されない)

(1) src/Eccube/Entity/ - 既存エンティティ

確認すべき点:

  • 直接変更されているエンティティがあるか

(2) src/Eccube/Repository/ - 既存のデータ取得ロジック

確認すべき点:

  • 直接カスタマイズされているリポジトリがあるか

5. html/ - フロントエンドの確認

(1) html/template/ - テンプレート

確認すべき点:

  • html/template/default/ 内にカスタマイズされたTwigテンプレートがあるか

どのように見るか:

  • app/template/ にあるべきカスタムテンプレートが、直接 html/template/ に置かれていないか確認
  • twig.yaml の設定と照合

6. var/logs/ - ログの確認

ログをチェックし、エラーや警告が発生していないかを確認。

どのように見るか:

  • var/logs/prod.log(本番環境のエラーログ)
  • var/logs/dev.log(開発環境のエラーログ)

まとめ

キャッチアップ時には、以下の順番で確認するとスムーズにプロジェクトを理解できます。

  1. 全体構造の把握
  2. app/(カスタマイズ内容の確認)
  3. config/(システム設定の確認)
  4. src/(コア部分に変更があるかチェック)
  5. html/(フロントエンドの変更確認)
  6. var/logs/(エラーや警告の確認)

これらを押さえれば、EC-CUBEのカスタマイズ状況や、どこを修正すべきかが明確になります。