SOY Shopプラグインの拡張ポイントということで、

プラグインの作り方の解説文を投稿したいと思います。


プラグインの解説のサンプルとして銀行振込支払いモジュール(ID:payment_furikomi)を例にして話を進めます。

ここで早速モジュールと記載しましたが、プラグインとモジュールは同じです。紛らわしくて申し訳ありません。


早速、銀行振込支払いモジュールのファイルの構成を確認すると、

soyshop
└── webapp
    └── src
        └── module
            ├── features
            │   └── payment_furikomi
            │       └── module.ini
            └── plugins
                └── payment_furikomi
                    ├── config
                    │   ├── PaymentFurikomiConfigFormPage.class.php
                    │   └── PaymentFurikomiConfigFormPage.html
                    ├── soyshop.config.php
                    ├── soyshop.info.php
                    ├── soyshop.order.mail.php
                    ├── soyshop.payment.php
                    └── util
                        └── PaymentFurikomiUtil.class.php

/soyshop/webapp/src/moduleディレクトリ内にfeaturesディレクトリとpluginsディレクトリがあり、

各々のディレクトリ内にプラグインのIDであるpayment_furikomiディレクトリがあり、

featuresディレクトリ/プラグインID/以下にmodule.iniファイルがあり、

pluginsディレクトリ/プラグインID/以下にプラグインの機能に関するファイル群があります。


module.iniを開いてみると、

[payment_furikomi]
name="銀行振込支払いモジュール"
type="payment"
description="銀行振込での支払い方法を追加するモジュールです。振込先の口座情報、購入者に送信するメールの文章を設定できます。"
version="1.1"
link=""
label=""

プラグインの説明が記載されています。

ここに記載されている内容が、


plugin_detail_page


各管理画面の詳細ページに表示される内容となります。

今回はlinkとlabelの値が空ですが、どこかのサイトで投稿したプラグインの紹介のリンクを表示するための値になります。


featuresディレクトリの方はここまでにしておいて、

次はpluginsディレクトリの方をピックアップして見てみると、

payment_furikomi
├── config
│   ├── PaymentFurikomiConfigFormPage.class.php
│   └── PaymentFurikomiConfigFormPage.html
├── soyshop.config.php
├── soyshop.info.php
├── soyshop.order.mail.php
├── soyshop.payment.php
└── util
    └── PaymentFurikomiUtil.class.php

soyshop.***.phpというファイルがいくつかあるのと、configとutilディレクトリがあります。


soyshop.***.phpというファイルが今まで何度か挙がってきた拡張ポイントになりまして、

例えば、支払いに関する機能をプラグインに持たせたい場合は

/soyshop/webapp/src/module/plugins/プラグインID/以下にsoyshop.payment.phpを作成すれば良いです。


soyshop.payment.phpは次回に説明するとして、

他の拡張ポイントを先に見ておくと、

soyshop.config.phpはプラグインに設定画面をもたせたい場合に作成し、

soyshop.info.phpは


plugin_detail_page2


管理画面の各プラグインの詳細ページや設定の下の方にリンクを表示したい場合に作成し、

soyshop.order.mail.phpは注文等で送信されるメールに文章を差し込みたい場合に作成します。


各拡張ポイントは

/soyshop/webapp/src/logic/plugin/extensions/以下に各拡張ポイントのファイル群があり、

各ファイルに拡張ポイントのインターフェースがあります。


それでは次回から各拡張ポイントについて見ていくことにします。