線上書籍

Home

[1011]XOOPS 2.5 模組開發

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