NetCommons2 モジュール作成、メイン表示カスタマイズ方法
○モジュールを新規作成するには
/NetCommons2/webapp/modules/にモジュールのフォルダを作成します。
既存のモジュールをコピーし、全てのファイルに含まれるモジュール名(onlineモジュールなら[online])を置換えることでモジュールを作成することもできます。
モジュールを作成したら、コントロールパネルのモジュール管理からインストールします。
モジュール用のテーブルが作成されればインストール完了です。
リストに表示される名前を変更する場合は、/language/japanese/modinfo.ini(以下、モジュール配下のディレクトリを表します)を書き換えます。
module_name = "表示するモジュール名"
○作成されるテーブルの内容を編集するには
テーブルはインストールの際、/sql/mysql/table.sqlが読み込まれて作成されます。
このファイルを編集することで作成されるテーブルのカラムなどを変えることができます。
複数のテーブルを作成したい場合には、/sql/mysql/table.sqlに作成するテーブルを追加すれば複数のテーブルが作成できます。
○モジュールのメイン表示を変更するには
メイン表示の変更は、/templates/default/main.htmlやmain_init.htmlを編集します。
templates内のファイルを書き換えた場合には、モジュール管理からアップデートしなければ変更が適応されません。
templatesは基本的にhtmlで記述しますが、他のファイルから受け取った値などはSmartyで記述します。
$lang.で始まる変数は/language/japanese/main.ini内の値が呼び出され、
$action.で始まる変数は/view/main/init/Init.class.php内の値が呼び出されます。
<{$lang.online_count|smarty:nodefaults|sprintf:$action.userCount}>
/view/main/init/Init.class.phpでは、/components/View.class.php内のfunctionを呼び出してデータを取得し、templatesで使える形に格納しています。
$user = $this->mydataView->getUserMember();
$this->memberCount = $user["member"];
/components/View.class.phpでは、sql文を記述し、NetCommons2本体に送ってデータを取得しています。
$date = date("YmdHis", time() - $mydataTime);
$params = array(
$date,
$baseSessionID,
_OFF
);
$sql = "SELECT base_sess_id, sess_data ".
"FROM {session} ".
"WHERE sess_updated > ? ".
"AND base_sess_id != ? ".
"AND old_flag = ?";
$result = $this->_db->execute($sql, $params);
○データベースからデータを取得するには
上記に書いた/components/View.class.phpでsql文を用意し、本体に送ります。
この際、$paramsが未定義の状態ではエラーになってしまうので、$paramsが必要ないときは中身を空で用意します。
テーブル[netcommons2_users]からhandleの値を取得するには、
$params = array();
$sql = "SELECT handle FROM netcommons2_users";
$result = $this->_db->execute($sql, $params);
と記述します。
データベースへの接続設定はNetCommons2本体で行われるので、最低上記の3行だけでデータを取得することができます。
トラックバック URL :
コメント (0)