プラグインの基本構造を作成
プラグインには最低限以下のファイルが必要です:
- composer.json – プラグイン情報とメタデータ
- config.yml – プラグイン設定情報
- PluginManager.php – プラグインのライフサイクル管理クラス
データベースを使用する場合は以下も追加:
- Resource/doctrine/migration/- マイグレーションファイル
ZIPファイル作成方法
重要: EC-CUBEの管理画面からアップロードする場合
フラットな構造のZIPファイル作成:
ルートディレクトリのフォルダのみをZIP化してアップロードしても、composer.json is not foundとなるため、ZIP化するフォルダ内もcomposer.jsonを含むファイルやフォルダもまとめてZIP化する
Plugin.zip
|
|_onPlugin.zip(composer.json,config.yaml,PluginManager.php ...)bash #ブラグインディレクトリに移動 cd path/to/your_plugin #ディレクトリ内のファイルを直接ZIPに含める
zip -r ../../TestBlock.zip *ZIP構造確認:
正しい構造: composer.json config.yml PluginManager.php …(他のファイル)
bash unzip -l your_plugin.zip. EC-CUBE管理画面からのインストール
- EC-CUBE管理画面にログイン
- 「オーナーズストア」→「プラグイン」→「プラグイン一覧」を開く
- 「プラグインのアップロード」ボタンをクリック
- 作成したZIPファイルを選択してアップロード
- 「インストール」ボタンをクリックしてプラグインをインストール
- 「有効化」ボタンをクリックしてプラグインを有効化
代替インストール方法(直接ファイルコピー)
ZIPアップロードで問題がある場合の代替方法:
- プラグインディレクトリをFTPで直接サーバーにアップロード:
- ローカル: /path/to/your_plugin
- サーバー: /home/your_acount/www/ec-cube/html/app/Plugin/your_plugin/
- キャッシュをクリア:
- /home/your_account/www/ec-cube/html/var/cache の内容を削除
- 管理画面から「プラグインを探す」を実行:
- 管理画面の「プラグイン一覧」で「プラグインを探す」をクリック
- プラグインが表示されたら「インストール」→「有効化」
まとめ
全体コード
# 1. ZIPを作成したい位置で、一時ディレクトリを作成する
mkdir test_temp
# 2. TestBlockフォルダを一時ディレクトリにコピー
cp -r ec-cube/app/Plugin/TestBlock test_temp/
# 3. ディレクトリ内のファイルを直接ZIPに含める(エラー防止のため)
cd test_temp/TestBlock
zip -r ../../TestBlock.zip *
cd ../..
# 4. 一時ディレクトリをクリーンアップ(削除)
rm -rf Test_temp
# 5 結果確認
ls -la TestBlock.zip
# 6 ec-cubeの管理画面でアップロード注意点ートラブルシューティング
問題が発生した場合のチェックポイント
- composer.jsonの確認:
- name version type extra.codeが正しく設定されているか
- type が eccube-pluginになっているか
- プラグイン内の権限設定の確認:
- 全ファイル: 644 (rw-r–r–)
- 全ディレクトリ(フォルダ): 755 (rwxr-xr-x)
- 書き込みが必要なディレクトリ: 707 (rwx—rwx) または 777 (rwxrwxrwx)
レンタルサーバーのEC-CUBEにアップロードしたら、ファイルマネージャーを開き、アップロードしたプラグインのフォルダとファイルのプロパティで権限設定を確認する。
権限が777や666だとエラーで表示されない可能性があるので、プラグインの全ファイルを644、全フォルダを755に変更する。
キャッシュのクリア:
- 問題が発生したらキャッシュを完全にクリア
管理画面でキャッシュをクリアしてもいいが、新しいテストプラグインをアップロードしたことで、管理画面がエラー表示されて、操作できない場合もある場合、ファイルマネージャーにアクセスし、キャッシュをクリアする。
ファイルマネージャーでec-cubeのフォルダを開き、varというフォルダにあるcashフォルダ内とlogフォルダ内のデータを削除するとキャッシュをクリアできる。
ログの確認:
- /home/your_account/www/ec-cube/html/var/log/のログファイルでエラーメッセージを確認

