• 2018.10.12
  • EC-cube

【EC-cube3】プラグイン開発に向けて初心者がいろいろやってみる(1):はじめの一歩

【EC-cube3】プラグイン開発に向けて初心者がいろいろやってみる(1):はじめの一歩のイメージ画像

実はEC-cube本体やプラグインをカスタマイズすることはあっても、プラグインを1から作ったことはありません。

「目指せ!オーナーズストアに出品!!」

というわけで、いろいろと間違えながらプラグインについて理解を深めれたらと思っております。

取りあえずアップロードしてみる

取りあえずオーナーズストアのプラグインをディレクトリ名(フォルダ名)だけ変えてアップロードしてみました。
※最初はファイル数の少ないプラグインで勉強した方がいいと思います。
「オーナーズストア」→「プラグイン」→「プラグイン一覧」の「未登録プラグイン」という項目に表示されましたが、他のプラグインみたいに、「有効にする」とか「今すぐインストール」みたいなボタンが見当たりません。

「え、こっからどうすればいいの?」

これ、どうやらインストールされていない状態らしく、「config.yml」の内容が表示されているだけなんです。
試しに「config.yml」だけをフォルダにいれてアップロードしても同じように表示されました。

それではインストールするにはどうすればいいのでしょうか?

独自プラグインとしてインストールするには

VPSや専用サーバーの場合:コンソールよりインストール

今回は共用サーバー環境でしたので、今後機会があれば記事にします!

共用サーバーの場合:圧縮してアップロード

多くの人は費用の安い共用サーバーを使用しているかと思いますが、その場合おそらくコンソールを利用することができません。

管理画面よりインストールできますので、圧縮(zip、tar、tar.gz)してアップロードしてください。
問題なければ「オーナーズストア」→「プラグイン」→「プラグイン一覧」の「独自プラグイン」に表示されるようになり、オーナーズストアプラグイン同様に扱われます。

エラー:config.yml not found or syntax error

圧縮ファイルをアップロードすると、「config.yml not found or syntax error」というエラーが出ました。
訳すと「config.ymlが見つからなかったかプログラムの文法とか構文が正しくないよ。」的な感じでしょうか。

間違いなく「config.yml」は入っているし、迷宮入りしちゃいそうな気分になりましたが、僕の場合はめちゃシンプルな間違いでした。

今回、複数ファイルをフォルダにまとめて、それを圧縮していたのですが、それだと階層が深くなってしまうみたいです。
「config.yml」が直下にない状態となってしまうため、「config.yml not found」だったわけですねー。
フォルダにまとめるのをやめて、複数ファイルをそのまま圧縮かけてアップロードし直したところ、無事にインストールすることができました!

システムエラーが発生しました。

1つ省いて説明したので、このままだと「システムエラーが発生しました」ページになる可能性が高いです。

今回の場合、既存プラグインをベースに「config.yml」のcodeを編集しているので、ファイル中のディレクトリ名などを合わせる必要があります。

一旦まとめ

これで独自プラグインとして、インストール・有効化することができました。

ここからプラグインに機能をもたせるために、それぞれのファイルの役割など勉強していこうと思います。