Posted at

EC-CUBE3プラグイン開発初期にハマったことメモ集

More than 3 years have passed since last update.

私自身や周りの方が、EC-CUBE3のプラグイン開発初期の頃にハマったことに関して、

メモしておきます。

■共通

・各プラグインのルートフォルダは、先頭大文字。

→ PSRの規約に従う必要あり。(アッパーキャメルケースで書いてください)

・(ソースをコピーしてきた場合)クラスnamespaceのパス/クラス名を間違わないように注意

・文字コードは「UTF-8」を使用する

・インストール直後にプラグイン一覧から、プラグインを「有効にする」としておく

 よく忘れたまま開発を進めていき、追加機能が全く動かない?となることがある。

・PDFからコピーすると、文字が変わるので注意。

→ githubからコピー行うべき。

■config.yml

・codeとディレクトリ名を一致させる。

・コロンの後ろは、必ず半角スペースを入れる

・「service - ○○ServiceProvider」の「-」と○○ServiceProviderの間には、

 必ず半角スペースを入れる。

■event.yml

・フックポイント記述と、呼び出し関数名の間には改行をいれないと、foreachエラーが発生する


event.yml(正解パターン)

eccube.event.render.shopping.before:

- [呼び出し関数名, NORMAL]


event.yml(間違いパターン)

eccube.event.render.shopping.before: - [呼び出し関数名, NORMAL]


■プラグイン圧縮時

・プロジェクト直下のフォルダの中身から、圧縮する。

■プラグインzipファイルインストール時

・app/Plugin/直下にインストール対象と同一のプラグイン名のフォルダ(config.ymlファイルのcodeが一致)が存在しているとエラーとなる。

・ファイルの所有者がapacheになってしまうので、レンタルサーバ・Vagrantなどでは編集権限がなくなってしまうので、権限変更する必要あり。