:::
所有書籍
「[1011]XOOPS 2.5 模組開發」目錄
MarkDown
15-3 上課範例:templates/blocks/new_notes.html
1. XOOPS模組開發
2. XOOPS模組基本結構
3. 模組管理後台結構
3-1 上課範例:tad0616.sql
3-2 上課範例:xoops_version.php
3-3 上課範例:admin/menu.php
4. XOOPS的表單Class
4-1 admin/cate.php
5. 分類管理功能
5-1 上課範例:admin/cate.php
6. 修改及前台結構
6-1 上課範例:admin/cate.php
6-2 上課範例:index.php
6-3 上課範例:xoops_version.php
7. 前台自製表單
7-1 上課範例:index.php
7-2 上課範例:class/ckeditor/config.js
8. 強化編輯器及月曆
8-1 上課範例:class/ckeditor/config.js
8-2 上課範例:class/ckeditor/kcfinder/config.php
8-3 上課範例:index.php
9. XOOPS文字過濾
9-1 上課範例:index.php
10. 選單及前台功能
10-1 上課範例:index.php
11. 內建搜尋功能與語系
11-1 上課範例:include/search.php
11-2 上課範例:xoops_version.php
11-3 上課範例:language/tchinese_utf8/modinfo.php
11-4 上課範例:admin/menu.php
11-5 上課範例:language/tchinese_utf8/admin.php
11-6 上課範例:admin/cate.php
11-7 上課範例:language/tchinese_utf8/main.php
11-8 上課範例:index.php
12. 偏好設定與分頁
12-1 上課範例:index.php
12-2 上課範例:function.php
12-3 上課範例:xoops_version.php
13. XOOPS的樣板檔
13-1 上課範例:xoops_version.php
13-2 上課範例:templates/tad_note_index.html
13-3 上課範例:index.php
13-4 上課範例:view.php
13-5 上課範例:include/search.php
13-6 上課範例:templates/tad_note_view.html
14. XOOPS的評論功能
14-1 上課範例:index.php
14-2 上課範例:templates/tad_note_index.html
14-3 上課範例:templates/tad_note_view.html
14-4 上課範例:xoops_version.php
14-5 上課範例:view.php
14-6 上課範例:comment_new.php
14-7 上課範例:themes/school2012/css/itensXoops.css
15. 製作XOOPS區塊
15-1 上課範例:xoops_version.php
15-2 上課範例:blocks/new_notes.php
15-3 上課範例:templates/blocks/new_notes.html
16. 通知功能(上)
16-1 上課範例:index.php
16-2 上課範例:templates/tad_note_index.html
16-3 上課範例:xoops_version.php
16-4 上課範例:include/notification.inc.php
16-5 上課範例:templates/tad_note_view.html
17. XOOPS通知功能(下)
17-1 上課範例:index.php
17-2 上課範例:language/tchinese_utf8/mail_template/new_note.tpl
17-3 上課範例:language/tchinese_utf8/mail_template/new_cate_note.tpl
17-4 上課範例:function.php
17-5 上課範例:admin/cate.php
18. 細部權限及自動功能
18-1 上課範例:admin/menu.php
18-2 上課範例:admin/groupperm.php
18-3 上課範例:view.php
18-4 上課範例:index.php
18-5 上課範例:xoops_version.php
18-6 上課範例:include/onInstall.php
18-7 上課範例:include/onUpdate.php
18-8 上課範例:include/onUninstall.php
16-1 上課範例:index.php
\[1011\]XOOPS 2.5 模組開發 ====================== [](http://www.tad0616.net/uploads/tad_book3/file/1011/16.zip) ### 一、 替列表加入分類 1. 我們讓使用者可以點選分類名稱,就列出該分類記事文章。 ``` <pre class="brush: php;" title="code"> $sql="select a.* , b.`cate_title` from ".$xoopsDB->prefix("tad_notes")." as a left join ".$xoopsDB->prefix("tad_note_cate")." as b on a.cate_sn=b.cate_sn where a.`note_public`='1' order by a.note_sort"; ``` 3. 多送出二組樣板標籤cate\_sn、cate\_title,樣板也記得修改! ``` <pre class="brush: xhtml;" title="code"> <td><a href='index.php?cate_sn=<{$page.cate_sn}>'><{$page.cate_title}></a></td> ``` 5. 列出函數也要多一組參數,並修改其內容: ``` <pre class="brush: php;" title="code"> $and_cate_sn=empty($cate_sn)?"":" and a.cate_sn='$cate_sn'"; $sql="select a.*, b.cate_title from ".$xoopsDB->prefix("tad_notes")." as a left join ".$xoopsDB->prefix("tad_note_cate")." as b on a.cate_sn=b.cate_sn where a.`note_public`='1' $and_cate_sn order by a.note_sort"; ``` ### 二、 加入通知的步驟與流程 1. 在xoops\_version.php中設定好通知的「類別」以及「事件」這兩種設定。 2. 修改 include/notification.inc.php這個檔,好讓通知功能可以取得正確的資料。 3. 在模組樣版中加入一行引入「通知」畫面的樣版語法,讓會員可以在模組或區塊裡看到「通知」的設定畫面。 4. 製作通知內容的樣版,也就是要來設計寄給會員的通知內容。 5. 修改程式,在各個需觸發通知的地方加入觸發事件,例如當有新文章發佈時,那麼就觸發一個通知事件,好讓系統去發出通知給會員。 ### 三、 在xoops\_version.php中加入通知「類別」設定(索引從1開始)。 1. $modversion\['hasNotification'\] = 1; 2. 「全局通知」類別(使用者觀看文章列表時可設定的通知項目): - (1) 當有新文章時, 就通知我。 3. 「新文章」的類別(使用者觀看某文章內容時可設定的通知項目): - (1) 當有針對這個項目的新評論張貼時通知我 - (2) 將這個項目加入書籤中(沒有通知) 4. 類別格式為:$modversion\['notification'\]\['category'\]\[1\]\['xxx'\] - (1) \['name'\] = '類別名稱'; //「name」用來設定類別的名稱,名稱可自訂,請用英文。如果要設定成「全局」類別,則請填入「global」。 - (2) \['title'\] = \_標題語系常數; - (3) \['description'\] = \_描述語系常數; - (4) \['subscribe\_from'\] = array('頁面1.php','頁面2.php',...); //用來設定模組中的哪些頁面會出現此通知「類別」,它的值是一個陣列,例如:「global」類別會出現在index.php及view.php中,其值為:array('index.php','view.php')。 - (5) \['item\_name'\] = '唯一編號欄位'; //填入「唯一編號欄位」的名稱,例如流水號sn。只有屬於「global」的類別可以不用設定此項,其餘自訂的都要! - (6) \['allow\_bookmark'\] = 1; //用來設定該類別是否可使用「書籤」功能。使用者可以從使用者選單中的「通知」裡面看到自己設定的書籤。 ### 四、 在xoops\_version.php中加入通知「事件」設定(索引從1開始)。 1. 每一個類別底下都會有至少一個的通知「事件」,格式為:$modversion\['notification'\]\['event'\]\[1\]\['xxx'\] - (1) \['name'\] = '事件名稱'; //設定該通知事件的名稱,用以辨識不同的事件,請用英文來命名之。 - (2) \['category'\] = '所屬類別'; - (3) \['title'\] = '事件標題'; - (4) \['caption'\] = '事件內容'; //會出現在通知設定選單中 - (5) \['description'\] = '事件描述'; - (6) \['mail\_template'\] = '通知信的樣版名稱'; //不需寫入副檔名,需放在「language/語系/mail\_template」目錄中,副檔名為.tpl,如:new\_doc.tpl。 - (7) \['mail\_subject'\] = '郵件主題'; - (8) \['admin\_only'\] = '1'; //設定該事件只有管理者可用 - (9) \['invisible'\] = '0'; //設定該事件是否為隱藏事件 ### 五、 若模組有用到「評論功能」或有使用書籤功能需要再加入以下設定: ``` <pre class="brush: php;" title="code"> $modversion['notification']['lookup_file'] = 'include/notification.inc.php'; $modversion['notification']['lookup_func'] = '通知函數名稱'; ``` ### 六、 產生 include/notification.inc.php這個檔 1. 這個檔主要的用途就是依據「通知類別」以及「唯一編號」來擷取寄發通知時所需要的一些訊息,包括「name」和「url」。 2. 主要的處理函數會接收到兩個參數,包括$category(類別名稱)、 $item\_id(唯一編號值) ``` <pre class="brush: php;" title="code"> function get_note_notification($category, $item_id){ if ($category=='global') { $item['name'] = ''; $item['url'] = ''; return $item; } global $xoopsDB; if ($category=='cate') { $sql = 'SELECT cate_title FROM ' . $xoopsDB->prefix('tad_note_cate') . ' WHERE cate_sn = '.$item_id; $result = $xoopsDB->query($sql); // TODO: error check $result_array = $xoopsDB->fetchArray($result); $item['name'] = $result_array['cate_title']; $item['url'] = XOOPS_URL . '/modules/tad_note/index.php?cate_sn=' . $item_id; return $item; } } ``` 4. 在樣版中加入一行引入「通知」畫面的樣版語法:<{include file='db:system\_notification\_select.html'}>
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
總目錄
1.XOOPS模組開發
2.XOOPS模組基本結構
3.模組管理後台結構
3-1上課範例:tad0616.sql
3-2上課範例:xoops_version.php
3-3上課範例:admin/menu.php
4.XOOPS的表單Class
4-1admin/cate.php
5.分類管理功能
5-1上課範例:admin/cate.php
6.修改及前台結構
6-1上課範例:admin/cate.php
6-2上課範例:index.php
6-3上課範例:xoops_version.php
7.前台自製表單
7-1上課範例:index.php
7-2上課範例:class/ckeditor/config.js
8.強化編輯器及月曆
8-1上課範例:class/ckeditor/config.js
8-2上課範例:class/ckeditor/kcfinder/config.php
8-3上課範例:index.php
9.XOOPS文字過濾
9-1上課範例:index.php
10.選單及前台功能
10-1上課範例:index.php
11.內建搜尋功能與語系
11-1上課範例:include/search.php
11-2上課範例:xoops_version.php
11-3上課範例:language/tchinese_utf8/modinfo.php
11-4上課範例:admin/menu.php
11-5上課範例:language/tchinese_utf8/admin.php
11-6上課範例:admin/cate.php
11-7上課範例:language/tchinese_utf8/main.php
11-8上課範例:index.php
12.偏好設定與分頁
12-1上課範例:index.php
12-2上課範例:function.php
12-3上課範例:xoops_version.php
13.XOOPS的樣板檔
13-1上課範例:xoops_version.php
13-2上課範例:templates/tad_note_index.html
13-3上課範例:index.php
13-4上課範例:view.php
13-5上課範例:include/search.php
13-6上課範例:templates/tad_note_view.html
14.XOOPS的評論功能
14-1上課範例:index.php
14-2上課範例:templates/tad_note_index.html
14-3上課範例:templates/tad_note_view.html
14-4上課範例:xoops_version.php
14-5上課範例:view.php
14-6上課範例:comment_new.php
14-7上課範例:themes/school2012/css/itensXoops.css
15.製作XOOPS區塊
15-1上課範例:xoops_version.php
15-2上課範例:blocks/new_notes.php
15-3上課範例:templates/blocks/new_notes.html
16.通知功能(上)
16-1上課範例:index.php
16-2上課範例:templates/tad_note_index.html
16-3上課範例:xoops_version.php
16-4上課範例:include/notification.inc.php
16-5上課範例:templates/tad_note_view.html
17.XOOPS通知功能(下)
17-1上課範例:index.php
17-2上課範例:language/tchinese_utf8/mail_template/new_note.tpl
17-3上課範例:language/tchinese_utf8/mail_template/new_cate_note.tpl
17-4上課範例:function.php
17-5上課範例:admin/cate.php
18.細部權限及自動功能
18-1上課範例:admin/menu.php
18-2上課範例:admin/groupperm.php
18-3上課範例:view.php
18-4上課範例:index.php
18-5上課範例:xoops_version.php
18-6上課範例:include/onInstall.php
18-7上課範例:include/onUpdate.php
18-8上課範例:include/onUninstall.php
展開
|
闔起
線上使用者
55
人線上 (
15
人在瀏覽
線上書籍
)
會員: 0
訪客: 55
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入