Cubsonベースのモジュール組み込み型モジュールの作成 (2)
本記事は,d3forum のコメント統合機能のように,他のモジュールに埋め込んで使うモジュールの作成方法を解説するものです。
対象は,Cubson でモジュールを作れて,かつ上のようなモジュールの作り方は分からない方。
概略
モジュール組み込み型モジュールを作成する場合も、通常どおり Cubson の Wizard コマンドで必要なソースを生成します。
加えて、以下のソースを修正/作成します。何が書いてあるかよくわからんかもしれませんが、とりあえず以下の5つのファイルを変えれば(作れば)いい、というのがわかればOKです*1。
- 呼び出し元モジュールのテンプレート
- 組み込みモジュールを呼び出す smarty を1行追加します。
- smarty プラグイン
- 呼び出し元モジュールに埋め込まれる smarty のプラグインファイルを作成します。パラメタを渡して、モジュール組み込み型モジュールの /preload で登録した関数を呼び出します。
- preload ファイル
- /preload にファイルを作りイベントを登録し、smarty プラグインからこのイベントを call したときにモジュール組み込み型モジュールの処理が実行されるようにします。
- /actions/{Table}ImplementAction.class.php
- {Table}EditAction.class.php をコピーして使います。ただし $render は使わず、XoopsTpl を使います。
- /templates/{module}_{table}_implement.html
- {module}_{table}_edit.html をコピーして使います。
*1:当然ですが、作ろうとするモジュールの機能次第でもっと変える必要が出てくるかもしれません。ここで挙げているのは「モジュール組み込み型モジュール」に限定した最低限の修正箇所です