SOY Shopプラグインを複製する
SOY Shopで構築するにあたって、
たとえば支払方法で銀行振り込み先の口座が複数あるとか、
ちょっと改良を加えたいけどバージョンアップの際に上書きされるのが嫌
ということがあると思います。
そんな時はプラグインを複製して、新しいプラグインを用意してからコードを修正していくことになります。
今回はプラグインの複製方法についてを説明します。
銀行振り込みの口座が複数ある時を想定して、
銀行振込支払いモジュールの複製を見ていきます。
銀行振込支払いモジュールのプラグインIDはpayment_furikomiなので、
/soyshop/webapp/src/module/features/payment_furikomiと
/soyshop/webapp/src/module/plugins/payment_furikomi
の二つのディレクトリとそれ以下の全部のファイルを下記のように
ディレクトリ名を変更して配置します。
(今回はpayment_furikomi2と変更)
これからファイルを修正していきます。
/soyshop/webapp/src/module/features/payment_furikomi2/module.iniを開き
payment_furikomiと書かれている箇所をpayment_furikomi2と修正します。
[payment_furikomi2] name="銀行振込支払いモジュール2" type="payment" description="説明文" version="1.1" link="" label=""
モジュール名も変更しておくと良いでしょう。
次に
/soyshop/webapp/src/module/plugins/payment_furikomi2/
プラグイン側のファイルを修正していきます。
プラグインのディレクトリにあるsoyshop.***.phpという名前の拡張ポイントのファイルを修正していきます。
すべてのファイルで共通ですが、
一括置換を利用して、payment_furikomiをpayment_furikomi2に置換します。
次にファイルを一つずつ開き、
class PaymentFurikomiConfig extends SOYShopConfigPageBase{ //中のコードは省略 }
クラス名を前のプラグインと被らないようにPaymentFurikomi2Configのように変更した後、
ファイルの下の方にある
SOYShopPlugin::extension("soyshop.config","payment_furikomi2","PaymentFurikomi2Config");
extension関数の第三引数のクラス名を先ほど変更したクラス名に変更します。
これでプラグインの複製の最低限は終了ですので、
あとは表示されるエラーメッセージに合わせ、適宜ファイル名変更で対応してください。