ブロックに挑戦

ブロックに挑戦。Cubson モジュールは元々少ないんですが(変則的ですが user や pm あたりを参考にしています),ブロックを使ったモジュールとなるともう壊滅的です。

コアのコードは読めたり読めなかったりなので,参考に出来るモジュールがないと大変苦労します。


まずデータを取ってくるために,ブロックで handler を使っているモジュールが見あたりません(SQL 書けば良いんですが,せっかくなので handler で統一したい)。

user, module, config 辺りのコアなテーブルに対しては使っているのがありますが,ユーザ向けのモジュールで使っているのは手持ちのモジュールの中には見あたりませんでした。


いつもの xoops_getmodulehandler('linkupd') ではモジュールが読み込まれていない(No Module is loaded)と怒られてしまいますし,xoops_gethandler('linkupd') や xoops_gethandler('playermap_linkupd') でも駄目です(Class 〜 does not exist)。

"function gethandler" を検索して中のコード(/include/functions.php)を見てみたところ,xoops_gethandler は {XOOPS_ROOT_PATH}/kernel/ にハンドラのファイルがないと駄目みたい。

その下にあった xoops_getmodulehandler は,第2引数にモジュールのディレクトリを指定でき,どうもこれで上手くいきそう。早速,xoops_getmodulehandler('linkupd', 'playermap') と書いてやってみると …… やった,上手くいきました!