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
            )
        );

これでプラグインが有効化されていればポイントプラグインのレポジトリやサービスを呼び出すようすれば、もしポイントプラグインが無効になっていてもエラーにならず安心です。


関連するカスタマイズ

Your proxy directory “/var/www/src/Eccube/..... SSHからマイグレーションなどapp/consoleのコマンドを実行しようとした際に、ドクトリンのキャッシュファイルを書き込めないために発生するエラーです。 通常app/cache/doctrine/proxiesは所有者もグループもapacheとなるため、コマンドラインから他のユーザ...
Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 ProductClass.code|sl...
メーカープラグインのメーカー一覧を取得する方法... メーカープラグインを使用される方が多いと思います。 メーカーの一覧を表示したい場合は次のようにメーカープラグインのレポジトリクラスでfindByすることで取得が可能です。 Controllerなどで使える実際のコード // メーカーのレポジトリを使用する $Makers = $app-&...
基本税率を切り捨て、切り上げ、四捨五入に変更... 開発メンバー全員のルールを揃えておくことが重要です。 dtb_tax_ruleテーブルのcalc_ruleの設定値は次の表の通りです。 calc_rule 方式 1 四捨五入 2 切り捨て 3 切り上げ これをマイグレーションで...