我用一個簡單的菜單結構創建了一個模塊。我能夠以編程方式檢索我的所有學生在PHP中的視圖。現在,我想通過一個簡單的表格將所有的學生返回到一個頁面上。用PHP在drupal模塊中創建標準頁面和表格
- 我怎樣才能使一個標準的網頁?
- 如何返回一個簡單的表中的值?
表的結構是
UGhentID名學生的名字student地址學生
12874749史密斯尼克紐約 。 。 。
我用一個簡單的菜單結構創建了一個模塊。我能夠以編程方式檢索我的所有學生在PHP中的視圖。現在,我想通過一個簡單的表格將所有的學生返回到一個頁面上。用PHP在drupal模塊中創建標準頁面和表格
表的結構是
UGhentID名學生的名字student地址學生
12874749史密斯尼克紐約 。 。 。
如果你想創建一個新的頁面,你需要一個模塊中使用hook_menu。
對於爲例:
/**
* Implementation of hook_menu.
*/
function mymodule_menu() {
$items = array();
$items['myPage'] = array(
'title' => 'Finances',
'page callback' => 'mymodule_page',
'access callback' => 'user_access',
'access argument' => array('access nodes'),
);
return $items
}
/**
* Page callback
*/
function mymodule_page() {
$output = mymodule_table();
return $output;
}
你可以在這裏看到,我稱之爲「mymodule_table()」中的頁面回調,這就是你建立你的表。
function mymodule_table() {
$rows = array();
// build the table header
$header = array();
for ($i = 1; $i <= 5; $i++) {
$header[] = array('data' => $i, 'class' => 'header-class');
}
$row = array();
for ($i = 1; $i <= 5; $i++) {
$row[] = array('data' => $i, 'class' => 'row-class');
}
$rows[] = array('data' => $row);
$output .= theme('table', $header, $rows, $attributes = array('class' => 'my-table-class'));
return $output;
}
這應該輸出一個表,其中包含一行,一行,5列。
我不知道你用的「標準頁面」的意思,但我想你也許想看看例子項目(http://drupal.org/project/examples),特別是page_example模塊。
對於您的表格,Drupal提供了一個非常有用的theme_table函數。以最簡單的形式傳遞標題和行數組,並返回表格的html。
基於@哈扎的答案,這裏是一個更新的表創建功能,對於Drupal 7的工作原理:
function mymodule_table() {
$rows = array();
// build the table header
$header = array();
for ($i = 1; $i <= 5; $i++) {
$header[] = array('data' => $i, 'class' => 'header-class');
}
$row = array();
for ($i = 1; $i <= 5; $i++) {
$row[] = array('data' => $i, 'class' => 'row-class');
}
$rows[] = array('data' => $row);
$data = array(
'header' => $header,
'rows' => $rows,
'attributes' => $attributes
);
$output = theme('table', $data);
return $output;
}
謝謝,這是解決方案! – user001 2011-03-29 08:44:25
這已經過時了(可能是Drupal 6)。對於drupal 7,你需要使用更新的版本,其中傳遞給除第一個以外的函數的參數是關聯數組。請參閱下面我的回答,我沒有足夠的評論空間。 – DrCord 2014-07-25 17:50:55