Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「八小時模組開發」目錄
MarkDown
9. 刪除資料(30分鐘)
1. 開發環境(30分鐘)
2. XOOPS模組基本結構(40分鐘)
2-1 xoops_version.php
3. 建立資料庫(40分鐘)
3-1 xoops_version.php
4. 建立前台搜尋頁面(30分鐘)
4-1 xoops_version.php
4-2 index.php
4-3 my_dict_index.html
5. 建立搜尋表單(40分鐘)
5-1 index.php
5-2 my_dict_index.html
6. 從資料庫撈出資料(40分鐘)
6-1 index.php
6-2 my_dict_index.html
7. 製作後台管理頁(30分鐘)
7-1 index.php
7-2 admin/menu.php
7-3 admin/main.php
7-4 xoops_version.php
7-5 my_dict_adm_main.html
8. 讀出資料並分頁(40分鐘)
8-1 templates/my_dict_adm_main.html
8-2 templates/my_dict_adm_main.html
9. 刪除資料(30分鐘)
10. XOOPS的表單物件(40分鐘)
11. 完成新增功能(30分鐘)
12. 完成編輯功能(40分鐘)
13. XOOPS文字過濾(30分鐘)
11. 完成新增功能(30分鐘)
八小時模組開發 ======= ### 一、 新增與修改 1. 新增和修改都需要一個編輯用的表單界面 2. 我們可以在樣板多個新增的按鈕: ```
新增詞彙
``` 3. 在流程多一組對應: ``` 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}> ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
73
人線上 (
30
人在瀏覽
線上書籍
)
會員: 1
訪客: 72
tad
,
更多…