joomla のプラグインクラスでは、onAfterRoute onAfterInitialize など、クラスメソッドを作成しておくと、そのイベントで該当のクラスメソッドが呼ばれます。

プラグイン内で、 $app -> regusterEvent で、動的にイベントを追加することもできます。

$app-> triggerEvent で、イベントを発生させることができます。

onHogehoge というクラスメソッドを作っておいて、 $app->triggerEvent(‘onHogehoge’, array($hoge));

などすると、onHogehoge が実行されます。

こうやって、Joomla 自体に大きな機能を組み込むことができるわけです。

Mobile Joomla のプラグイン本体は、 system/mobilebot/mobilebot.php で、ここから全てが動作しているようです。

 

mobile joomlaの、デバイス検出は、mobile グループのプラグインの onDeviceDetect イベントで取得されます。

mobile joomla では、imode(chtml) 端末にはDoCoMoしか入っておらず、AUやSoftbankの端末が含まれていません。

USER AGENT からAU Softbankもchtmlとして判別されるプラグインを作成し、mobile グループに登録。

mobile AMDD, mobile Simple の両モジュールは無効にすることで、この問題が解決できます。