[1011]XOOPS 2.5 模組開發
一、 完成修改功能
- 修改功能就是使用者選擇一筆資料(取得該資料編號),利用該資料編號,取得其原始資料,並將取得的資料塞回原先表單,以供使用者修改。改完送出後,會執行資料update的動作。
<a href='cate.php?op=modify&cate_sn={$cate['cate_sn']}'>修改</a> - 在switch中新增一組modify 流程:
case "modify":
$main = cate_form($cate_sn);
break; - 替原本的表單函數加入參數:function cate_form($cate_sn=null)
- 做一個get_cate($cate_sn=null)函數來取得某一分類的完整資料;
$sql="select * from ".$xoopsDB->prefix("tad_note_cate")." where `cate_sn` = '{$cate_sn}'"; - 在產生表單之前,先抓出現有單一個分類資料:
$cate=empty($cate_sn)?array():get_cate($cate_sn); - 把預設值塞進XOOPS表單元件中:
$XoopsFormText =new XoopsFormText('分類標題', 'cate_title', 40 , 255, $cate['cate_title']); - 根據情況,自動修改表單的op值,以便進行不同的動作:
if(empty($cate_sn)){
$form->addElement(new XoopsFormHidden('op', 'insert'));
}else{
$form->addElement(new XoopsFormHidden('op', 'update'));
$form->addElement(new XoopsFormHidden('cate_sn', $cate_sn));
} - 在switch中新增一組update 流程:
case "update":
update_cate($cate_sn);
header('location:cate.php'); //轉向
break; - 製作更新函數update_cate($cate_sn):
$sql="update ".$xoopsDB->prefix("tad_note_cate")." set `cate_title` = '{$_POST['cate_title']}' , `cate_sort` = '{$_POST['cate_sort']}' , `cate_enable` = '{$_POST['cate_enable']}' where `cate_sn` = '{$cate_sn}'";
- 一定要引入:include_once '../../mainfile.php';
- 頁首:include_once XOOPS_ROOT_PATH."/header.php";
- 頁尾:include_once XOOPS_ROOT_PATH.'/footer.php';
- 其餘結構可比照後台頁面結構。
- 有前台時,記得到xoops_version.php去加入 $modversion['hasMain'] = 1;
- 若前台有好幾個子功能,可以在主選單中加入子選項:
- $modversion['sub'][1]['name'] = '子選項名稱';
- $modversion['sub'][1]['url'] = '連結位置';