| 2012/01/09 | NetCommons モジュールID の取得方法 |  | by:永原 篤 |
|---|
|
記事対象のNetCommons バージョン
2.3.3.0
モジュールIDの取得方法
NetCommons のカスタマイズをしていると、自分のモジュール以外のモジュールID を取得したい場合が出てきます。
例えば、固定URL のabbreviate_url テーブルから、対象のモジュールを絞り込むには、モジュールID(module_id)の情報が必要になります。
で、モジュール名がどっかにあるかなと思って、データベースから探してみてもないんですよね。
ソースを追いかけると、webapp\components\modules\View.class.php のloadModuleInfo 関数でmodinfo.ini ファイルから読んでいることがわかります。
固定URL のabbreviate_url テーブルから対象のモジュールを絞り込む場合など、modinfo.ini ファイルまで読むのはなんだかなあ、ということで、同じファイルのgetModulesBySystemflag 関数を見てみると、
modules テーブルのaction_name カラムからモジュールを特定しているのがわかります。
(正確にはaction_name カラムを _ で分割した最初の文字列からですが)
ということで、abbreviate_url テーブルからモジュールを特定するには、action_name カラムが使えそうです。