case "add_form":
    add_form();
    break;
  ```
4. 然後多一個add\_form()函數: ```
  
  //編輯詞彙表單
  function add_form(){
    global $xoopsTpl;
  
  }
  ```
5. 接著,我們要在這個函數中,利用XOOPS的表單物件來建立一個編輯表單。
 
### 二、 物件的基本動作及概念
1. PHP 的 Class(類)是一個物件藍圖
2. 要讓 Class 有作用需要經過實體化(new)的動作: ```
  
  $物件 = new 某物件Class();
  ```
3. 物件會有所謂的方法(method)其實就是函數,讓您對此物件進行設、取值或執行特定物件功能: ```
  
  $物件->方法();
  ```
4. XOOPS的表單物件設定完,最後都需要進行$物件->render();以產生程式碼。
5. 詳細的XOOPS Class請參考:[http://dev.xoofoo.org/dev\_xoops\_255/inherits.html](http://dev.xoofoo.org/dev_xoops_255/inherits.html)
 
### 三、 XOOPS內建表單Class
1. 要使用內建表單需先引入此行: ```
  
  include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
  ```
2. 建立一個表單: ```
  
  $form = new XoopsThemeForm('表單標題', 'name', 'action.php', 'post', '使用token' , '摘要');
  //例如:
  $form = new XoopsThemeForm('編輯詞彙', '', 'main.php', 'post', true);
  ```
3. 標籤元件: ```
  
  $元件變數 =new XoopsFormLabel('標題', '內容');
  ```
4. 文字輸入: ```
  
  $元件變數 =new XoopsFormText('標題', 'name', 大小 , 最大長度 , '值');
  //例如:
  $input_eng =new XoopsFormText('英文', 'eng', 20 , 255 , $eng);
  ```
5. 隱藏欄位: ```
  
  $元件變數 =new XoopsFormHidden('name', '值');
  //例如:
  $hidden_op =new XoopsFormHidden('op', 'insert');
  ```
6. 安全檢查: ```
  
  $元件變數=new XoopsFormHiddenToken('XOOPS_TOKEN_REQUEST',360);
  ```
7. 上傳欄位: ```
  
  $form->setExtra("enctype='multipart/form-data'");
  $元件變數 =new XoopsFormFile('標題', 'name', '2048');
  ```
8. 密碼欄位: ```
  
  $元件變數=new XoopsFormPassword('標題', 'name', 大小, 最大長度, '值');
  ```
9. 大量文字: ```
  
  $元件變數=new XoopsFormTextArea('標題', 'name', '值' , 欄寬 , 列高 , 'id');
  ```
10. XOOPS編輯器: ```
  
  $元件變數=new XoopsFormDhtmlTextArea('標題' , 'name',  '值' , 欄寬 , 列高);
  ```
11. 複選方塊: ```
  
  $元件變數 = new XoopsFormCheckBox('標題', 'name', '值','id');
  
  //加入選項方法一:
  $元件變數->setValue($多重預設值陣列);
  
  //加入選項方法二:
  $元件變數->addOption('選單值1', '顯示值1', false);
  
  //加入選項方法三:
  $options['選單值2']='顯示值2';
  $options['選單值3']='顯示值3';
  $元件變數->addOptionArray($options);
  ```
12. 單選鈕:(選項及預設值設法同複選) ```
  
  $元件變數 = new XoopsFormRadio('標題', 'name', '值');
  ```
13. 是否單選: ```
  
  $元件變數=new XoopsFormRadioYN('標題', 'name', '值');
  ```
14. 下拉選單:(選項及預設值設法同複選,多選預設false) ```
  
  $元件變數=new XoopsFormSelect('標題', 'name', '預設值', 大小, 多選);
  ```
15. 群組核選:(多選預設false) ```
  
  $元件變數=new XoopsFormSelectCheckGroup('標題', 'name', '值', 大小 ,多選);
  ```
16. 國家選單:(值:TW) ```
  
  $元件變數=new XoopsFormSelectCountry('標題', 'name', '值', 大小);
  ```
17. 編輯器選單:(使用HTML預設false ) ```
  
  $元件變數=new XoopsFormSelectEditor(&$form, 'name', '值', 使用HTML , 可選編輯器陣列);
  ```
18. 群組選單:(含訪客預設false,多選預設false) ```
  
  $元件變數=new XoopsFormSelectGroup('標題', 'name', 含訪客, '值', 大小 ,多選);
  ```
19. 語系選單:(值tchinese\_utf8,多選預設false) ```
  
  $元件變數=new XoopsFormSelectLang('標題', 'name', '值', 大小);
  ```
20. 比對選單: ```
  
  $元件變數=new XoopsFormSelectMatchOption('標題', 'name', '值', 大小);
  ```
21. 佈景選單: ```
  
  $元件變數=new XoopsFormSelectTheme('標題', 'name', '值', 大小);
  ```
22. 時區選單: ```
  
  $元件變數=new XoopsFormSelectTimezone('標題', 'name', '值', 大小);
  ```
23. 使用者選單:(含訪客預設false,多選預設false) ```
  
  $元件變數=new XoopsFormSelectUser('標題', 'name', 含訪客, '值', 大小 ,多選);
  ```
24. 按鈕:(類型:submit或reset) ```
  
  $元件變數 =new XoopsFormButton('標題', 'name', '值', '類型');
  //例如:
  $submit_btn =new XoopsFormButton('', '', '儲存', 'submit');
  ```
25. 把元件加入表單中: ```
  
  $form->addElement($元件變數);
  //例如:
  $form->addElement($input_eng);
  $form->addElement($input_cht);
  $form->addElement($hidden_op);
  $form->addElement($submit_btn);
  ```
26. 把幾個元件組合在一起,並放到表單中: ```
  
  $Tray1=new XoopsFormElementTray('標題', ' ', 'name');
  $Tray1->addElement(new XoopsFormButton('', 'name', '送出', 'submit'));
  $Tray1->addElement(new XoopsFormButton('', 'name', '清除', 'reset'));
  $form->addElement($Tray1);
  ```
27. 產生表單程式碼: ```
  
  $f=$form->render();
  ```
 
### 三、 完整範例
1. 寫成函數看起來如下: ```
  
  //編輯詞彙表單
  function add_form(){
    global $xoopsTpl;
    include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
    $form = new XoopsThemeForm('編輯詞彙', '', 'main.php', 'post', true);
    $input_eng =new XoopsFormText('英文', 'eng', 20 , 255 , $eng);
    $input_cht =new XoopsFormText('中文解釋', 'cht', 20 , 255 , $cht);
    $hidden_op =new XoopsFormHidden('op', 'insert');
    $submit_btn =new XoopsFormButton('', '', '儲存', 'submit');
    $form->addElement($input_eng);
    $form->addElement($input_cht);
    $form->addElement($hidden_op);
    $form->addElement($submit_btn);
    $f=$form->render();
    $xoopsTpl->assign("form" ,$f);
  }
  ```
2. 利用 $xoopsTpl->assign('form',$f) 將產生的表單語法,套用到樣板中的<{$form}>標籤裡。
3. 請在樣板中加入 <{$form}> 標籤,如: ```
  
  <{if $form}>
    <{$form}>
  <{else}>
    字典管理
    ....略....
    <{$bar}>
  <{/if}>
  ```