線上書籍

Home

[1011]XOOPS 2.5 模組開發

一、 安裝KCfinder(http://kcfinder.sunhater.com)
  1. 下載後,解壓縮至ckeditor目錄下,並改名為kcfinder(比較好設定)
  2. 編輯ckeditor/config.js ,加入以下設定:
  3. var kcpath='/~tad0616/modules/tad_note/class/ckeditor/kcfinder'; config.filebrowserBrowseUrl = kcpath + '/browse.php?type=files'; config.filebrowserImageBrowseUrl = kcpath + '/browse.php?type=images'; config.filebrowserFlashBrowseUrl = kcpath + '/browse.php?type=flash'; config.filebrowserUploadUrl = kcpath + '/upload.php?type=files'; config.filebrowserImageUploadUrl = kcpath + '/upload.php?type=images'; config.filebrowserFlashUploadUrl = kcpath + '/upload.php?type=flash';
  4. 編輯kcfinder/config.php並進行以下修改;
    • (1)  將disabled的值改成false,使kcfinder可以使用。
    • (2)  修改uploadURL的值為「http://網址/uploads/模組名稱」,如「http://163.26.52.243/~tad0616/uploads/tad_note」
    • (3)  修改uploadDir的值為「XOOPS絕對路徑/uploads/模組名稱」,如「/home/tad0616/public_html/uploads/tad_note」
  5. 將zh.php複製到kcfinder/lang下,以加入正體中文界面。
二、 安裝My97DatePicker(http://www.my97.net/dp)
  1. 下載後,解壓縮至模組的class目錄下,並改名為datepicker(比較好設定)
  2. 在表單前加入以下語法:<script language='javascript' type='text/javascript' src='class/datepicker/WdatePicker.js'></script>
  3. 在日期的input欄位加入:onClick='WdatePicker()'
  4. 若希望出現小月曆圖示可加上:class='Wdate'
  5. 套用別的佈景: onClick=\"WdatePicker({skin:'whyGreen'})\"
  6. 加入時間選項:onClick=\"WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss'})\"
三、 自動取得最大排序 $sql="select max(`note_sort`) from ".$xoopsDB->prefix("tad_note"); $result = $xoopsDB->query($sql); list($sort)=$xoopsDB->fetchRow($result); return ++$sort;
四、 XOOPS使用者物件:$xoopsUser
  1. $uid=$xoopsUser->uid();
  2. 避免沒登入產生錯誤:$uid=($xoopsUser)?$xoopsUser->uid():0;
五、 儲存到資料庫
  1. $sql="insert into ".$xoopsDB->prefix("tad_note")." (`cate_sn`, `note_title`, `note_content`, `note_date`, `note_public`, `note_count`, `uid`, `note_sort`) values('{$_POST['cate_sn']}' , '{$_POST['note_title']}' , '{$_POST['note_content']}' , '{$_POST['note_date']}' , '{$_POST['note_public']}' , '0' , '{$uid}' , '{$_POST['note_sort']}')";
  2. 取得最後新增資料的流水編號:$note_sn=$xoopsDB->getInsertId();