:::

17. XOOPS通知功能(下)

一、 讓通知功能可以設定

  1. 複製notification_update.php到模組根目錄中,使通知功能得以設定。

二、 程式中加入觸發事件:

  1. 讓程式達到通知的條件後,就可以自動寄出通知信,前四個參數是必要的:
  2. $notification_handler =& xoops_gethandler('notification');
    $notification_handler->triggerEvent ($類別名稱, $項目編號, $事件名稱, $額外標籤陣列, $僅發佈通知的使用者編號陣列, $模組編號, $觸發事件的當事人編號);
    • (1)  $類別名稱:即xoops_version.php中設定的通知「類別」中的name。
    • (2)  $項目編號:唯一編號欄位的編號,假如「類別」是全域類別,那麼輸入0即可。
    • (3)  $事件名稱:即xoops_version.php中所設定事件,請輸入字串。
    • (4)  $額外標籤陣列:請輸入陣列。此參數是讓您加入自訂的標籤,這些標籤將會用在mail的樣版中,「標籤名稱」當做陣列索引,「標籤內容」則是陣列值,例如我們想自己做一個可以顯示觸發事件時當下的時間之標籤,如{ADD_TIME},那麼可以這麼寫:$extra_tags['DOC_TITLE'] = $_POST['note_title'];
    • (5)  $僅發佈通知的使用者編號陣列:請輸入陣列。假如您希望只有特定使用者可以使用此通知事件,那麼,請將這些使用者的編號放入此陣列中。
    • (6)  $模組編號:請輸入模組編號,預設就是目前的模組。
    • (7)  $觸發事件的當事人編號:將不寄通知給他,預設為目前的使用者。
  3. 取得新增編號的寫法:$note_sn=$xoopsDB->getInsertId();

三、 通知內容的樣版檔

  1. 製作通知內容的樣版,也就是要來設計寄給會員的通知內容。
  2. 通知信樣版放在模組的「language/語系/mail_template」目錄中,副檔名均為.tpl
    • (1)  {X_SITEURL}:網站的網址
    • (2)  {X_SITENAME}:網站的名稱
    • (3)  {X_ADMINMAIL}:管理者的 Email位址
    • (4)  {X_UNAME}:收信者名稱
    • (5)  {X_UID}:收信者的編號
    • (6)  {X_UACTLINK}:使用者的帳號啟動連結(此功能您可能用不到,因為只有註冊時通知信才會用到而已)
    • (7)  {X_MODULE} :模組名稱
    • (8)  {X_MODULE_URL}:模組首頁的連結
    • (9)  {X_NOTIFY_EVENT}:被觸發的事件
    • (10)  {X_NOTIFY_CATEGORY}:事件所屬的類別
    • (11)  {X_UNSUBSCRIBE_URL}:使用者的「通知」管理頁面連結
  3. 測試時,建議您使用另一個身份登入,因為通知訊息預設是不會通知當事者的,所以,您自己發的新聞,自己可能會收不到通知信。

四、 刪除通知

  1. 刪除文章時,也要順便刪除通知:
  2. xoops_notification_deletebyitem ($模組編號,$類別名稱, $項目編號);
  3. 取得模組編號:$xoopsModule->getVar('mid');

:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D22%26tbdsn%3D668

書籍目錄

展開 | 闔起

線上使用者

75人線上 (46人在瀏覽線上書籍)

會員: 0

訪客: 75

更多…