Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「XOOPS 模組開發」目錄
MarkDown
3. 模組管理後台結構
1. 開發環境
2. XOOPS模組基本結構
2-1 tad_honor 資料庫結構
2-2 school_news 資料庫結構
2-3 匯出SQL檔的方法
3. 模組管理後台結構
4. XOOPS的表單物件
5. 新增、列出功能
6. XOOPS文字過濾
7. 分頁功能
8. 前台檔案結構
9. 修改、刪除功能
10. 模組偏好設定
11. XOOPS語系功能
12. XOOPS的樣板檔
13. 內建搜尋功能
14. XOOPS的評論功能
15. 製作XOOPS區塊
16. FireFox內建「網頁開發者」工具
16-1 WebDeveloper附加元件
16-2 FireBug附加元件
16-3 用Selenium IDE來測試
17. XOOPS上傳
18. tad_honor 範例
18-1 xoops_version.php
18-2 language/tchinese_utf8/modinfo.php
18-3 sql/mysql.sql
18-4 admin/menu.php
18-5 admin/main.php
18-6 templates/tad_honor_adm_main.html
18-7 index.php
18-8 function.php
18-9 templates/tad_honor_index.html
19. school_news 校園佈告欄範例程式碼
19-1 xoops_version.php
19-2 sql/mysql.sql
19-3 admin/menu.php
19-4 admin/main.php
19-5 templates/school_news_adm_main.html
5. 新增、列出功能
XOOPS 模組開發 ========== ### 一、 物件的基本動作 1. PHP的Class(類)是一個物件藍圖 2. 要讓Class有作用需要經過實體化(new)的動作:$物件 = new PHP\_Class(); 3. 物件會有所謂的方法(method)其實就是函數,讓您對此物件進行設、取值或執行特定物件功能:$物件->方法(); 4. XOOPS的表單物件設定完,最後都需要進行$物件->render();以產生程式碼。 5. 詳細的XOOPS Class請參考:[http://dev.xoofoo.org/dev\_xoops\_255/classes.html](http://dev.xoofoo.org/dev_xoops_255/classes.html) ### 二、 XOOPS內建表單Class 1. 要使用內建表單需先引入此行: ``` include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php"); ``` 2. 建立一個表單: ``` $form = new XoopsThemeForm('表單標題', 'name', 'action.php', 'post', '使用token' , '摘要'); ``` 3. 標籤元件: ``` $元件變數 =new XoopsFormLabel('標題', '內容'); ``` 4. 文字輸入: ``` $元件變數 =new XoopsFormText('標題', 'name', 大小 , 最大長度 , '值'); ``` 5. 日期欄位: ``` $元件變數 =new XoopsFormTextDateSelect('標題', 'name', 大小 , '值'); ``` 6. 日期+時間欄位: ``` $元件變數 =new XoopsFormDateTime('標題', 'name', 大小 , '值' , 是否顯示時間); ``` 7. 隱藏欄位: ``` $元件變數 =new XoopsFormHidden('name', '值'); ``` 8. 安全檢查: ``` $元件變數=new XoopsFormHiddenToken('XOOPS_TOKEN_REQUEST',360); ``` 9. 上傳欄位: ``` $form->setExtra("enctype='multipart/form-data'"); $元件變數 =new XoopsFormFile('標題', 'name', '2048'); ``` 10. 密碼欄位: ``` $元件變數=new XoopsFormPassword('標題', 'name', 大小, 最大長度, '值'); ``` 11. 大量文字: ``` $元件變數=new XoopsFormTextArea('標題', 'name', '值' , 列高 , 欄寬); ``` 12. XOOPS編輯器: ``` $元件變數=new XoopsFormDhtmlTextArea('標題' , 'name', '值' , 欄寬 , 列高); ``` 13. 複選方塊: ``` $元件變數 = new XoopsFormCheckBox('標題', 'name', '值','id'); ``` 14. - (1) $元件變數->setValue($多重預設值陣列); - (2) $元件變數->addOption('選單值1', '顯示值1', false); - (3) $options\['選單值2'\]='顯示值2'; $options\['選單值3'\]='顯示值3'; $元件變數->addOptionArray($options); 15. 單選鈕:(選項及預設值設法同複選) ``` $元件變數 = new XoopsFormRadio('標題', 'name', '值'); ``` 16. 是否單選: ``` $元件變數=new XoopsFormRadioYN('標題', 'name', '值'); ``` 17. 下拉選單:(選項及預設值設法同複選,多選預設false) ``` $元件變數=new XoopsFormSelect('標題', 'name', '預設值', 大小, 多選); ``` 18. 群組核選:(多選預設false) ``` $元件變數=new XoopsFormSelectCheckGroup('標題', 'name', '值', 大小 ,多選); ``` 19. 國家選單:(值:TW) ``` $元件變數=new XoopsFormSelectCountry('標題', 'name', '值', 大小); ``` 20. 編輯器選單:(使用HTML預設false ) ``` $元件變數=new XoopsFormSelectEditor(&$form, 'name', '值', 使用HTML , 可選編輯器陣列); ``` 21. 群組選單:(含訪客預設false,多選預設false) ``` $元件變數=new XoopsFormSelectGroup('標題', 'name', 含訪客, '值', 大小 ,多選); ``` 22. 語系選單:(值tchinese\_utf8,多選預設false) ``` $元件變數=new XoopsFormSelectLang('標題', 'name', '值', 大小); ``` 23. 比對選單: ``` $元件變數=new XoopsFormSelectMatchOption('標題', 'name', '值', 大小); ``` 24. 佈景選單: ``` $元件變數=new XoopsFormSelectTheme('標題', 'name', '值', 大小); ``` 25. 時區選單: ``` $元件變數=new XoopsFormSelectTimezone('標題', 'name', '值', 大小); ``` 26. 使用者選單:(含訪客預設false,多選預設false) ``` $元件變數=new XoopsFormSelectUser('標題', 'name', 含訪客, '值', 大小 ,多選); ``` 27. 按鈕:(類型:submit或reset) ``` $元件變數 =new XoopsFormButton('標題', 'name', '值', '類型'); ``` 28. 把元件加入表單中: ``` $form->addElement($元件變數,是否必填); ``` 29. 把幾個元件組合在一起,並放到表單中: ``` $Tray1=new XoopsFormElementTray('標題', ' ', 'name'); $Tray1->addElement(new XoopsFormButton('', 'name', '送出', 'submit')); $Tray1->addElement(new XoopsFormButton('', 'name', '清除', 'reset')); $form->addElement($Tray1); ``` 30. 產生表單程式碼: ``` $f=$form->render(); ``` ### 三、 在表單元建中加入額外資訊 1. 我們可以加入 class="span12",讓表單元件可以佔滿整個父元件的空間(這是BootStrap用法) 2. 我們還可以加入 placeholder="輸入提示",讓表單元件呈現輸入提示字元 3. 要加入額外資訊,比須使用 $元件變數->setExtra("額外資訊") 的方式來進行: ``` //在表單中,加入一個大量文字輸入框 $form_honor_note = new XoopsFormTextArea('備註', 'honor_note' , $honor_note , 5 , 255); $form_honor_note->setExtra("class='span12' placeholder='請填入備註'"); $form->addElement($form_honor_note , false); ``` ### 四、表單驗證 ``` $form = new XoopsThemeForm('編輯榮譽榜', 'honor', 'index.php', 'post'); ``` ``` $form->addElement($XoopsFormText , true); ``` 1. 建立表單時,一定要設定name: 2. 新增元件時,第二個參數設為true: ### 五、 表單安全 1. 表單加入: ``` $form->addElement(new XoopsFormHiddenToken()); ``` 2. 儲存時,請加入以下這段: ``` if(!$GLOBALS['xoopsSecurity']->check()){ $error=implode("
" , $GLOBALS['xoopsSecurity']->getErrors()); redirect_header($_SERVER['PHP_SELF'],3, $error); } ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
55
人線上 (
26
人在瀏覽
線上書籍
)
會員: 0
訪客: 55
更多…