Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「1041 XOOPS模組開發」目錄
MarkDown
8-9 /templates/tad_ebook_index.html
1. XOOPS的開發環境
1-1 xoops_version.php
1-2 languages/tchinese_utf8/modinfo.php
1-3 images/logo.png
1-4 tad_ebook 資料表
1-5 tad_ebook_page 資料表
2. 後台頁面與表單物件
2-1 sql/mysql.sql
2-2 xoops_version.php
2-3 admin/menu.php
2-4 language/tchinese_utf8/modinfo.php
2-5 templates/tad_ebook_adm_main.html
2-6 admin/main.php
3. 樣板與管理功能
3-1 admin/main.php
3-2 temaplates/tad_ebook_adm_main.html
4. 前台頁面與HTML表單
4-1 admin/main.php
4-2 /templates/tad_ebook_adm_main.html
4-3 /interface_menu.php
4-4 /post.php
4-5 /templates/tad_ebook_post.html
4-6 /xoops_version.php
5. 前台顯示及各種控管
5-1 /post.php
5-2 /templates/tad_ebook_post.html
5-3 /index.php
5-4 /templates/tad_ebook_index.html
5-5 /xoops_version.php
6. XOOPS群組與權限
6-1 /admin/menu.php
6-2 /admin/groupperm.php
6-3 /modules/system/admin/groupperm.php
6-4 /interface_menu.php
6-5 /xoops_version.php
6-6 /function.php
6-7 /verify.php
6-8 /templates/tad_ebook_verify.html
6-9 /post.php
6-10 /templates/tad_ebook_post.html
7. 搜尋、語系、偏好設定、自動功能
7-1 /templates/tad_ebook_post.html
7-2 /xoops_version.php
7-3 /include/search.php
7-4 /admin/main.php
7-5 /language/tchinese_utf8/admin.php
7-6 /templates/tad_ebook_adm_main.html
7-7 /language/tchinese_utf8/modinfo.php
7-8 /post.php
7-9 /include/onUpdate.php
7-10 /include/onInstall.php
7-11 /sql/mysql.sql
7-12 /include/onUninstall.php
7-13 /index.php
8. 上傳、區塊與BootStrapS3
8-1 /xoops_version.php
8-2 /sql/mysql.sql
8-3 /include/onUpdate.php
8-4 /admin/main.php
8-5 /templates/tad_ebook_adm_main.html
8-6 /blocks/tad_ebook_list.php
8-7 /templates/blocks/tad_ebook_list.html
8-8 /index.php
8-9 /templates/tad_ebook_index.html
9. 評論與通知功能
9-1 /xoops_version.php
9-2 /index.php
9-3 /templates/tad_ebook_index.html
9-4 /comment_new.php
9-5 /include/notification.inc.php
9-6 /admin/main.php
9-7 /language/tchinese_utf8/mail_template/new_ebook.tpl
9-8 Uniform Server的信件設定
9-9 /templates/tad_ebook_index_b3.html
9-10 /templates/tad_ebook_verify_b3.html
9-11 bootstrap2與bootstrap3水平表單結構
9-12 /templates/tad_ebook_post_b3.html
9-13 /templates/tad_ebook_adm_main_b3.html
9-1 /xoops_version.php
1041 XOOPS模組開發 ============== [](http://www.tad0616.net/uploads/tad_book3/file/1041/09.zip) ### 一、 加入評論功能 1. 若是想要在模組中套用評論功能,必須先在xoops\_version.php中加入評論設定: ``` $modversion['hasComments'] = 1; $modversion['comments']['pageName'] = 'index.php'; $modversion['comments']['itemName'] = 'page_sn'; ``` 2. pageName就是要加入評論的頁面檔案名稱,itemName一般是流水號欄位。 3. 把「評論檔」中的五個php檔案複製到「模組根目錄」即tad\_ebook下。 4. 在index.php最下方引入footer.php頁尾檔之前,加入引入評論資料檔的語法: ``` include_once XOOPS_ROOT_PATH.'/include/comment_view.php'; ``` 5. 開啟「評論樣板檔語法.txt」,複製語法到index.php套用的樣版檔中,放入顯示單一文章部份的下方就大功告成!至後台更新模組後即可使用評論功能。 ### 二、 修改評論畫面 1. 修改comment\_new.php,替評論加上「$com\_replytitle」回覆標題,及「$com\_replytext」被回覆的內容。 2. 這兩個變數的值,我們利用該文章編號「$com\_itemid」直接撈出該文章的標題和內容即可。 3. 開啟「強化comment\_new.php的語法.txt」依照指示修改即可,改好後,將內容複製到comment\_new.php中,取代原有內容即可。 ### 三、 加入通知的步驟與流程 1. 在xoops\_version.php中設定好通知的「類別」以及「事件」這兩種設定。 2. 修改 include/notification.inc.php這個檔,好讓通知功能可以取得正確的資料。 3. 在模組樣版中加入一行引入「通知」畫面的樣版語法,讓會員可以在模組或區塊裡看到「通知」的設定畫面。 4. 製作通知內容的樣版,也就是要來設計寄給會員的通知內容。 5. 修改程式,在各個需觸發通知的地方加入觸發事件,例如當有新文章發佈時,那麼就觸發一個通知事件,好讓系統去發出通知給會員。 ### 四、 在xoops\_version.php中加入通知「類別」設定(索引從1開始) ``` $modversion['hasNotification'] = 1; ``` 1. 「全局通知」類別,使用者在模組任何地方,都可進行設定的通知項目。 2. 「指定」的類別,例如:有心期刊發布時,就通知。使用者在該功能頁面時才能設定的項目。 3. 類別格式為:$modversion\['notification'\]\['category'\]\[1\]\['xxx'\] - (1) \['name'\] = '類別名稱'; //「name」用來設定類別的名稱,名稱可自訂,請用英文。如果要設定成「全局」類別,則請填入「global」。 - (2) \['title'\] = \_標題語系常數; \['description'\] = \_描述語系常數; - (3) \['subscribe\_from'\] = array('頁面1.php','頁面2.php',...); //用來設定模組中的哪些頁面會出現此通知「類別」,它的值是一個陣列,例如:「global」類別會出現在index.php及view.php中,其值為:array('index.php','view.php')。 - (4) \['item\_name'\] = '唯一編號欄位'; //填入「唯一編號欄位」的名稱,例如流水號sn。只有屬於「global」的類別可以不用設定此項,其餘自訂的都要! - (5) \['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\_ebook.tpl。 - (7) \['mail\_subject'\] = '郵件主題'; - (8) \['admin\_only'\] = '1'; //設定該事件只有管理者可用 - (9) \['invisible'\] = '0'; //設定該事件是否為隱藏事件 ### 六、 產生 include/notification.inc.php這個檔 1. 這個檔主要的用途就是依據「通知類別」以及「唯一編號」來擷取寄發通知時所需要的一些訊息,包括「name」和「url」。 ``` $modversion['notification']['lookup_file'] = 'include/notification.inc.php'; $modversion['notification']['lookup_func'] = '通知函數名稱'; ``` 2. 主要的處理函數會接收到兩個參數,包括$category(類別名稱)、 $item\_id(唯一編號值) 3. 在欲加入通知的檔案對應樣版檔中加入一行引入「通知」畫面的樣版語法: ``` <{include file='db:system_notification_select.html'}> ``` 4. 複製notification\_update.php到模組根目錄中,使通知功能得以設定。 ### 七、 程式中加入觸發事件 1. 讓程式達到通知的條件後(通常是儲存時觸發),就可以自動寄出通知信,前四個參數是必要的: ``` $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\['EBOOK\_TITLE'\] = $\_POST\['ebook\_title'\]; - (5) $僅發佈通知的使用者編號陣列:請輸入陣列。假如您希望只有特定使用者可以使用此通知事件,那麼,請將這些使用者的編號放入此陣列中。 - (6) $模組編號:請輸入模組編號,預設就是目前的模組。 - (7) $觸發事件的當事人編號:將不寄通知給他,預設為目前的使用者。 ### 八、 通知內容的樣版檔 1. 通知信樣版放在模組的「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}:使用者的「通知」管理頁面連結 2. 測試時,建議您使用另一個身份登入,因為通知訊息預設是不會通知當事者的,所以,您自己發的新聞,自己可能會收不到通知信。 ### 九、 刪除通知 1. 刪除文章時,也要順便刪除通知: ``` xoops_notification_deletebyitem ($模組編號,$類別名稱, $項目編號); ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
82
人線上 (
18
人在瀏覽
線上書籍
)
會員: 0
訪客: 82
更多…