Drupalのモジュール開発の第3回目です。
今回は、簡単な一覧を表示するモジュールを作ってみます。
第1回のモジュール雛形をベースにしますが、今回はフォーム無しで、すぐに一覧を表示させます。
ですので、menu関数から実行表示する関数「easy_list」をコールする点がこれまでと異なります。
まず、サンプルのソースを記述しておきます。
t('easy list program'), 'page callback' => 'easy_list', 'access arguments' => array('permission easy_list'), ); return $items; } function easy_list(){ $sql = "SELECT * FROM {node} where type ='page'"; $result = db_query($sql); while ($record = db_fetch_array($result)) { $rows[] = array( array('data' => $record["nid"]), array('data' => $record["title"]), array('data' => date("Y年m月d日 H時i分s秒",$record["created"]))); } $header = array(array('data' => 'nid'), array('data' => 'タイトル'), array('data' => '登録日')); drupal_set_title('ページ一覧'); return theme('table', $header, $rows); } ?>
menu関数からeasy_listに処理が移った後、easy_listでは、
ノードタイプが”page”のものだけを抽出して、配列$rowsに格納します。
$headerに表示させたい列名称をセットします。
最後に、return theme(‘table’, $header, $rows);
で、Drupalのtheme関数が$headerや$rowsのデータを表形式に整形して表示してくれます。
このように表示部分はDrupalに任せてしまえるので、処理部分だけを書けば良いので、簡単ですね。