線上書籍

Home

1041 XOOPS模組開發

一、 關於期限(日期的比較)
  1. 在資料庫中,若欄位是日期格式,那麼可以直接以日期格式比大小。
  2. 在PHP中無法直接以日期來比大小,故需先將日期用strtotime()轉為時間戳記才能比較大小。
  3. 若一次只要找出一期,那麼可以在SQL最後加上「limit 0,1」,0代表從第一筆資料抓起,1代表只抓一筆資料。
二、 秀出訊息後轉向
  1. 不管是要除錯,或者是要告知使用者某些資訊,都是一個不錯的功能: redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
  2. 三個參數,分別為:轉向到哪個頁面, 顯示秒數 , 顯示訊息
三、 Bootstrap的警示框
  1. 用來秀出一些醒目訊息用 <div class="alert alert-info">相關訊息</div>
  2. alert-success (綠)、alert-info (藍)、alert-warning (橘)、alert-danger (紅)
四、 簡易除錯
  1. 利用 die(),搭配 var_dump() 或 var_var_export() ,可以檢查接收的變數為何。 die(var_export($_POST));
  2. 例如上例就是檢查post表單送出的所有值為何。
五、 關於安全表單
  1. 裡面的參數已經從XOOPS_TOKEN_REQUEST改為XOOPS_TOKEN $XoopsFormHiddenToken=new XoopsFormHiddenToken('XOOPS_TOKEN',360);
  2. 其實不填任何參數也可以!
六、 取得最後新增資料的流水編號
  1. 一般新增完,我們會取得其流水號,並轉向至該頁的儲存結果: $page_sn=$xoopsDB->getInsertId();
七、 Bootstrap的標籤與徽章
  1. 適合用來進行一些標籤的標示 <span class="label label-info"><{$page.page_tag}></span>
  2. https://kkbruce.tw/bs2/Components#labels-badges
八、 讀出時記得進行過濾
  1. 由於內容是用所見即所得編輯器,故HTML必須開啟,最後的換行轉<br>記得關閉。 $myts =& MyTextSanitizer::getInstance(); $page['page_title']=$myts->htmlSpecialChars($page['page_title']); $page['page_content']=$myts->displayTarea($page['page_content'], 1, 1, 1, 1, 0);
九、 試試看
  1. 如何讓未登入者,在首頁,只能看到已出版的文章,而看不到審核中或者審核完卻未到出版日的文章?
十、模組完整包

tad_ebook 20140425