線上書籍

Home

[1011]XOOPS 2.5 模組開發

一、 表單驗證
  1. 建立表單時,一定要設定name:$form = new XoopsThemeForm('分類設定', 'cate', 'cate.php', 'post');
  2. 新增元件時,第二個參數設為true:$form->addElement($XoopsFormText , true);
二、 表單安全
  1. 表單加入:
    $form->addElement(new XoopsFormHiddenToken());
  2. 儲存時,請加入以下這段:
    if(!$GLOBALS['xoopsSecurity']->check()){
      $error=implode("<br />" , $GLOBALS['xoopsSecurity']->getErrors());
      redirect_header($_SERVER['PHP_SELF'],3, $error);
    }
三、 加入後台管理頁面標題
  1. 請在include 'header.php'; 下方加入:
    include_once XOOPS_ROOT_PATH."/modules/" . $xoopsModule->getVar("dirname") . "/class/admin.php" ;
    $index_admin = new ModuleAdmin() ;
    echo $index_admin->addNavigation('檔名.php') ;
四、 列出全部
  1. $sql="select * from ".$xoopsDB->prefix("tad_note_cate")." order by cate_sort";
  2. 套用XOOPS的表格風格:<table cellspacing='1' class='outer'>,標題部份:<th class='txtcenter'>分類標題</th>,表格內容部份:<tr class='odd'>或<tr class='even'>
  3. $class=$i%2?'odd':'even';    $i++;
  4. while($cate=$xoopsDB->fetchArray($result)){所有內容}
  5. <a href='cate.php?op=modify&cate_sn={$cate['cate_sn']}'>修改</a>
  6. 流程新增一組 case "modify":
  7. <a href='cate.php?op=delete&cate_sn={$cate['cate_sn']}'>刪除</a>
  8. 流程新增一組 case "delete":
五、 刪除
  1. 在進入流程前,整理一下傳入變數:
    $cate_sn=isset($_REQUEST['cate_sn'])?intval($_REQUEST['cate_sn']):"";
    $sql="delete from ".$xoopsDB->prefix("tad_note_cate")." where `cate_sn`='{$cate_sn}'";
    $xoopsDB->queryF($sql) or redirect_header('cate.php', 3, mysql_error());