AGAMES 討論區

 找回密碼
 快速註冊
搜索
查看: 1198|回復: 0
打印 上一主題 下一主題

Discuz! 插件的鉤子的使用技巧 [複製鏈接]

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

帖子
3799
EXP
6040 點
金幣
4990 個
好友
0
註冊時間
2008-3-27

友誼之星勳章

跳轉到指定樓層
樓主
發表於 2009-1-16 15:58:58 |只看該作者 |倒序瀏覽
這裡介紹如何更方便和容易的使用鉤子
1、如果我們鉤子裡面的代碼比較多,我建議獨立一個文件寫代碼,再 include 這個獨立的文件鉤子的代碼就是

  1. include DISCUZ_ROOT. './plugins/pluginname/mode.inc.php';
複製代碼

或者是(根據你自己的需要)

  1. include_once DISCUZ_ROOT. './plugins/pluginname/mode.inc.php';
複製代碼

自己要實現的功能的代碼就寫在 ./plugins/pluginname/mode.inc.php文件裡面實現。
這個對於測試和插件的升級都比較有好處的。
例如當發布了一個插件,為了安裝的時候修改代碼盡量的簡潔(我們推薦你這樣做),你使用到了鉤子,但是因為發布不久,你需要更新鉤子,所以得教會用戶在不刪除配置的情況下更新鉤子的配置。那就相對比較麻煩,如果像我上面的設置的話,那麼只需要更新文件即可,就是叫用戶上傳覆蓋文件即可,非常方便。
2、模板中使用鉤子我們知道在Discuz!的模板語法中有 {eval parm},執行php代碼的標記。那麼要在模板上使用鉤子,只要 {eval eval($hooks['demo_testhook']); }
那樣,那麼就完全可以執行鉤子裡面的代碼了。
鉤子是一個非常靈活的機制,所以大家可以仔細的研究下這個機制,那麼設計出來的插件的安裝難度可以大大的降低。
Alta Multimedia - Youtube:http://www.youtube.com/user/altahk
您需要登錄後才可以回帖 登錄 | 快速註冊

Archiver|手機版|AGAMES 討論區

GMT+8, 2024-11-26 23:49 , Processed in 0.040803 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部