質問: コンポーネントがインストール/有効化されているかどうかを確認する最良の方法は? joomla 2.5と3.xの間で、別のコンポーネントがインストールおよび/または有効化されているかどうかを確認する最良の方法は何ですか? jcomponenthelperというヘルパークラスが存在しますが、チェックされているコンポーネントが一部のjoomlaバージョンにインストールされていない場合、isenabled関数は実際にエラーをスローすると思います。これはデータベースに直接アクセスするのと同じくらい簡単ですが、他のクラス/ヘルパー/メソッドが使用されているかどうかを確認したいと思いました。
回答: これを試して、データベースをチェックして、コンポーネントがインストールされて有効になっているかどうかを確認してください。$db = jfactory::getdbo(); $db->setquery("select enabled from #__extensions where name = 'com_name'"); $is_enabled = $db->loadresult(); $ is_enabledの値が1の場合、コンポーネントは有効です。そうでなければ、if (!jcomponenthelper::isenabled('com_mycomp', true)) { jerror::raiseerror('404', jtext('component not installed / enabled')); }