9-4
隱藏欄位
- 若是點了「我要報名」,那麼會去執行
create
這個動作,也就是建立一個報名資料。要注意的是,這個create
是用$ApplyMode
模型物件,如此才能把資料寫到my_action_apply
報名資料表中。
...略...
$ApplyModel = new TadModData('my_action_apply');
switch ($op) {
case "create":
$ApplyModel->create();
break;
...略...
- 記得要去修改樣板
template/op_index_create.tpl
(以及編輯的樣板template/op_index_edit.tpl
),畫面才會正確出現:
<{$toolbar}>
<{$my_action_apply_form}>
- 畫面目前看起來像這樣:
- 若要讓報名者自己填編號,那也太好笑,何況我們連結也有將該編號帶到這頁來,因此,實際上,我們可以將「活動編號」欄位改成隱藏表單,並將
action_id
的值自動帶入。
- 此外,「報名時間」更不建議讓使用者自己填,一來不人道,二來填錯麻煩,所以,也一樣可以隱藏起來。
- 我們利用
set_hidden($col_name, $def_val)
來達成,詳細用法可參考:https://campus-xoops.tn.edu.tw/modules/tad_book3/page.php?tbsn=48&tbdsn=1620
...略...
$ApplyModel = new TadModData('my_action_apply');
$ApplyModel->set_hidden('action_id', $clean['action_id']);
$ApplyModel->set_hidden('apply_date', date("Y-m-d H:i:s"));
switch ($op) {
case "create":
$ApplyModel->create();
break;
...略...
$col_name
:指的就是要替換的欄位,故填入action_id
$def_val
:就是該欄位的值,故填入$clean['action_id']
,也就是傳進來的活動編號值。日期時間的話,我們可以利用date()
來抓取當下時間。
- 如此,「活動編號」和「報名時間」就變成隱藏的欄位了: