EC-CUBE3.0系のカスタマイズを行っているとポイントプラグインやクーポンプラグインが有効かどうか、チェックしたい場面に度々遭遇します。
有効でないのにPimpleでポイントプラグインのレポジトリを利用しようとするとエラーとなってしまう場合などです。
そんな場合はPluginRepositoryを使用することでプラグインがインストールされているかどうかチェックすることが可能です。
プラグインがインストールされているかどうか
インストールされていない場合は$PluginはNULLとなります。
$Plugin = $this->app['eccube.repository.plugin']->findOneBy( array( 'code' => 'Point', 'del_flg' => Constant::DISABLED, ) );
プラグインが有効化されているかどうか
有効化されていない場合は$PluginはNULLとなります。
$Plugin = $this->app['eccube.repository.plugin']->findOneBy( array( 'code' => 'Point', 'del_flg' => Constant::DISABLED, 'enable' => Constant::ENABLED ) );
これでプラグインが有効化されていればポイントプラグインのレポジトリやサービスを呼び出すようすれば、もしポイントプラグインが無効になっていてもエラーにならず安心です。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。