分12前回はEC-CUBEプラグインの仕様をできるだけ簡単に紹介しました。今回は実際に株式会社ロックオンからリリースされているサンプルプラグインをソースレベルで読み解き,作り方を見ていこうと思います。今回は作り方がメインになりますから,まだ前回をお読みになっていない方は,プラグインの仕組みを把握する意味でも,まずお読みになることをおススメします。今回は,本連載記事の第2回目で紹介した,「⁠カテゴリーコンテンツプラグイン」というサンプルプラグインを参考に,具体的に中身を見ていきます。本記事をお読みになる前に,準備として,カテゴリーコンテンツプラグインをEC-CUBEオフィシャルサイトからダウンロードしておくと良いでしょう。プラグイン本体のパッケージ形式プラグインをダウンロードしてもらえればわかりますが,プラグインの拡張子は「tar.gz」となっています。この形式はUNIX系システムで主に使われる形式で,EC-CUBEのプラグインはこの形式であることが必須となっています。EC-CUBE本体はzip形式,tar.gz形式の2つの形式がそれぞれ提供されていますが,プラグインは現状tar.gz形式のみの提供のようです。プラグイン本体の構造まずは,ダウンロードしたカテゴリーコンテンツプラグイン「cat_contents.tar.gz」を解凍してみましょう(tar.gz形式のファイルを展開できる環境にない方はフリーソフト等を使って解凍してください⁠)⁠。cat_contents.tar.gzの中身は以下のファイル群です。ファイルの構成はとてもシンプルです画像ファイル含め複数のファイルがありますが,この中でプラグインを作る上で必須となるファイルは赤字で記載している以下の2つのみです。plugin_info.php(プラグイン設定ファイル)CategoryContents.php(プラグインメインクラス)この2つがあれば基本的にはプラグインとして成り立ちます。その他のファイルはプラグインごとの何らかの処理をするためのファイルであったり,テンプレートファイルや画像ファイル等となりますので,それぞれのプラグインにより追加されるファイルということになります。それでは,次項より各ファイルの詳しい中身を見ていきましょう。plugin_info.php:プラグインの設定ファイルプラグイン設定ファイルでは主に,プラグイン名やバージョンなど,プラグインに関する情報を記載します。この設定情報はプラグインのインストール時にEC-CUBEのデータベースに登録されます(一部登録されないデータもあります⁠)⁠。"カテゴリ毎にコンテンツを設定する事ができます。画像を表示したり,文章を表示したり,自由なカスタマイズが可能です。カテゴリ管理より設定ができます。"LGPL";}サンプルプラグインの実際のソースでは,すべてにコメントが付いていますので,詳細な内容はそちらを参照していただければと思います。変数名でどのような役割のものかは想像がつくと思います。必須の情報は「DESCRIPTION」までの6つのみで,基本的にはそれらがあればプラグインは正常に動作します。その後の「PLUGIN_SITE_URL」から「LICENSE」までの変数は任意の情報ということになっていますが,できればすべての情報を記載することをおススメします。いうのも,たとえば「HOOK_POINTS」という変数は,フックポイントとコールバック関数を定義する変数ですが,この定数を定義すれば,register関数というものを書かずにフックポイントでの介入が可能になりますので,是非とも登録しておきたい変数です。その他,EC-CUBEのプラグインではライセンス(⁠「⁠LICENSE⁠」⁠)を自由に設定できるようになっています。詳しくは割愛しますが,有料でプラグインを販売したい場合や,プラグインに他のライセンスのプログラムを入れた場合などではライセンスを検討しなければいけなくなることもあるでしょう。ちなみに,EC-CUBE公式では,EC-CUBE本体ライセンスとの相性が良い「LGPL」ライセンスが推奨とされています。クロスメディア事業室室長。