使用格式 $table = theme('table', array(
'header' => array(), // 欄位標題
'rows' => array(), //資料集
'caption' => t('表格抬頭標題'),
'attributes' => array('style' => 'width: 80%'), //table 屬性如 class, align...
'colgroups' => ,
'sticky' => ,
'empty' => t('無資料'), //無資料時呈現文字
)
);
header 相關參數資料
$header = array(
columnKey => array(
'data' => t('欄位標題名稱'),
'field'=>'資料表欄位名稱, ex: n.changed', 使用欄位排序時需指定
'sort'=>'該欄位預設排序模式, ex: desc 或 asc',
'key'=> 'value', //可加入任意個html 屬性資料, Ex 'style'=>'width:70px', 'class'=>'sss'
),
);
rows 相關參數
$rows[] = array( //單列每個 col 資料結構
columnKey => array( //col data
'data' => '欄位資料',
'key'=> 'value', //可加入任意個 <td> 屬性資料, Ex 'rowspan' => 2, 'bgcolor' => '#ffccff'
"no_striping" = FALSE, //不使用 奇偶數行識別 class, default=FALSE
),
key => array(...), //col data
);
header 與 row.col 是以 columnKey 值作對應, 若無指定key值等同一陣列內容順序帶入(因header,rows 的columnKey=0,1,2...)
http://drupalcontrib.org/api/drupal/drupal!includes!theme.inc/function/t...
基本用法
'header' => array(), // 欄位標題
'rows' => array(), //資料集
'caption' => t('表格抬頭標題'),
'attributes' => array('style' => 'width: 80%'), //table 屬性如 class, align...
'colgroups' => ,
'sticky' => ,
'empty' => t('無資料'), //無資料時呈現文字
)
);
header 相關參數資料
$header = array(
columnKey => array(
'data' => t('欄位標題名稱'),
'field'=>'資料表欄位名稱, ex: n.changed', 使用欄位排序時需指定
'sort'=>'該欄位預設排序模式, ex: desc 或 asc',
'key'=> 'value', //可加入任意個html 屬性資料, Ex 'style'=>'width:70px', 'class'=>'sss'
),
);
rows 相關參數
$rows[] = array( //單列每個 col 資料結構
columnKey => array( //col data
'data' => '欄位資料',
'key'=> 'value', //可加入任意個 <td> 屬性資料, Ex 'rowspan' => 2, 'bgcolor' => '#ffccff'
"no_striping" = FALSE, //不使用 奇偶數行識別 class, default=FALSE
),
key => array(...), //col data
);
header 與 row.col 是以 columnKey 值作對應, 若無指定key值等同一陣列內容順序帶入(因header,rows 的columnKey=0,1,2...)
http://drupalcontrib.org/api/drupal/drupal!includes!theme.inc/function/t...
基本用法
範例一function myTable01() { // 表格標題資料 $header = array( array('data' => t('標題 1')), array('data' => t('標題 2')), array('data' => t('標題 3')) ); // 列資料 $rows = array(); $rows[] = array(//單一列 array('data' => t("Row – Col 1")), //欄位 1 array('data' => t("Row – Col 2")), //欄位 2 array('data' => t("Row - Col 3"), 'rowspan' => 2, 'bgcolor' => '#ffccff',), //欄位 3 ); $rows[] = array(//單一列 array('data' => t("Row - Col 1")), //欄位 1 array('data' => t("Row - Col 2")), //欄位 2 ); for ($row = 1; $row < 3; $row++) { $rows[] = array(//單一列 array('data' => t("Row $row – Col 1")), //欄位 1 array('data' => t("Row $row – Col 2")), //欄位 2 array('data' => t("Row $row – Col 3")), //欄位 3 ); } $rows[] = array(//單一列 array('data' => t("Row $row – Col 1")), //欄位 1 array( 'data' => t("Row $row – Col 2"), 'colspan' => 2, 'align' => 'center', 'bgcolor' => '#ffccff', ), //欄位 2 ); return theme('table', array('header' => $header, 'rows' => $rows)); }
分頁與欄位排序function myTable02() { $header = array(//標題 array('data' => t('Title')), array('data' => '', 'style' => 'width: 70px'),// 增加屬性資料 ); //get data $query = db_select('node', 'n') ->fields('n', array('nid', 'title')) ->execute() ->fetchAll(); foreach ($query as $record_edit_table) { //dataSet $rows[] = array(// celles array(//本文連結 'data' => l($record_edit_table->title, 'node/' . $record_edit_table->nid, array('attributes'=>array('target'=>'_blank')) ), ), array(//編輯 'data' => l(t('edit'), 'node/' . $record_edit_table->nid . '/edit') . ' / ' . l(t('delete'), 'node/' . $record_edit_table->nid . '/delete'), ), ); } $table = theme('table', array( 'header' => $header, // 欄位標題 'rows' => $rows, //資料集 'caption' => t('資料編輯表格'), //表格抬頭標題 ) ); return $table; }
function myTable03() { $header = array( array('data' => t('Title'), 'field'=>'n.title'), //使用 TableSort 必須指定 field 資料 array('data' => t('Update'), 'field'=>'n.changed', 'style'=>'width: 70px'), ); // get data $query = db_select('node', 'n')->fields('n', array('nid', 'title', 'changed')) //分頁, limit 需在 extend('PagerDefault') 之後才可使用 ->extend('PagerDefault')->limit(4) //欄位排序, orderByHeader 需在 extend('TableSort') 之後才可使用 ->extend('TableSort')->orderByHeader($header); $dataSet = $query->execute()->fetchAll(); foreach ($dataSet as $record_edit_table) {// dataSet $rows[] = array(// celles array( 'data' => l($record_edit_table->title, 'node/' . $record_edit_table->nid), ), array( 'data' => $record_edit_table->changed, ), ); } $editTable = theme('table', array( 'header' => $header, // 欄位標題 'rows' => $rows, //資料集 'caption' => '表格 分頁與欄位排序', ) ); return $editTable . theme('pager');//加入頁次選單 }