動作環境
php 7.4.27sy
EC-CUBE4.1.2-p1
Symfony 3.4.49
MariaDB 10.5.13
プラグイン基本設定
file:/var/www/html/example.com/app/Plugin/CompanyNameOriginalPlugin
code:CompanyNameOriginalPlugin
name:companynameoriginalplugin
プラグイン名称:会社名オリジナルプラグイン
準備
使用していないファイルは削除
/var/www/html/example.com/app/Plugin/CompanyNameOriginalPlugin
内に使用していないファイルが残っていないか確認する
例)
CompanyNameOriginalPlugin/Controller/Admin
∟CompanyNameOriginalPluginController.php(使用中)
∟Controller.php(使用していないデフォルトファイル)
→使用していないファイルは削除
composer.jsonを確認
name: パッケージ名
"ec-cube/[プラグインコード]"
namespace に対応している必要
例)
namespace:CompanyNameOriginalPlugin
name:ec-cube/CompanyNameOriginalPlugin
version: バージョン
"version": "1.0.01"
プラグインのバージョン番号
バージョンは1.*.**の形式で記入
1.0.00では申請できないため、最初のバージョンを1.0.01にする
description: [プラグイン名称]
"description": "会社名オリジナルプラグイン"
例)会社名オリジナルプラグイン
type: パッケージタイプ
"type": "eccube-plugin"
と記述
require: 依存パッケージ
プラグインが利用するパッケージがあれば追記します。
"ec-cube/plugin-installer": "~0.0.7 || ^2.0"
は常に記述してください。
extra: 付属情報
"code": "[プラグインコード]" を記述
"code": "CompanyNameOriginalPlugin"
・[ベンダー名][プラグイン名]が推奨されている
・キャメルケースで記述
◯ CompanyNameOriginalPlugin
✗ companynameoriginalplugin
✗ company_name_original_plugin
・サーバーのプラグインディレクトリ名に対応する必要
例)
サーバーパス:/var/www/html/example.com/app/Plugin/CompanyNameOriginalPlugin
→ "code": "CompanyNameOriginalPlugin"
{
"name": "ec-cube/companynameoriginalplugin",
"version": "1.0.0",
"description": "会社名オリジナルプラグイン",
"type": "eccube-plugin",
"require": {
"ec-cube/plugin-installer": "~0.0.7 || ^2.0"
},
"extra": {
"code": "CompanyNameOriginalPlugin"
}
}
プラグインパッケージ化
プラグインルートに移動
/var/www/html/example.com/app/Plugin/CompanyNameOriginalPlugin
cd app/Plugin/CompanyNameOriginalPlugin
COPYFILE_DISABLE=1 tar --exclude ".git" --exclude ".DS_Store" -cvzf ../[PluginDir].tar.gz *
でパッケージ化
COPYFILE_DISABLE=1 tar --exclude ".git" --exclude ".DS_Store" -cvzf ../CompanyNameOriginalPlugin.tar.gz *
ファイルの確認
ls /var/www/html/example.com/app/Plugin/
CompanyNameOriginalPlugin
CompanyNameOriginalPlugin.tar.gz
参考記事