モジュールがopencartにインストールされているかどうかを確認する良い方法はありますか?私はこのような共通の仕事のために明白な何かを欠いているに違いないと確信しています。Opencartモジュールがインストールされているかどうかをテストする方法は?
これは、フロントエンド(カタログ)と管理領域の両方で機能します。これは、メソッドが存在するかどうか、およびそれが多次元配列であるかどうかをチェックする理由です。
$this->load->model('setting/extension');
$this->model_setting_extension = new ModelSettingExtension($this->registry);
if(method_exists($this->model_setting_extension, "getExtensions")){
$extensions = $this->model_setting_extension->getExtensions('module');
} else {
$extensions = $this->model_setting_extension->getInstalled('module');
}
$installed = false;
foreach($extensions as $extension){
if(is_array($extension) && $extension['code'] == "myfoo"){
$installed = true;
} elseif($extension == "myfoo") {
$installed = true;
}
}
if(!$installed){
exit('Error: Could not load module: myfoo!');
}
これは2.0で動作しません。私の解決策が1.4.Xから2.Xに至るまで、顧客側に 'setting/extension'のモデルが存在しないからです。 –
はい、そうです。私はoc 2を使用したことはありません。ちょっと違いを見てダウンロードしました:)メソッドgetInstalledがモデル/ extension/extension.phpにありますので、上記のコードでそれぞれの '設定'を '拡張子'に変更できると思います – ymakux