AGAMES 討論區

標題: Discuz! 插件的鉤子的使用技巧 [打印本頁]

作者: dlalden    時間: 2009-1-16 15:58:58     標題: Discuz! 插件的鉤子的使用技巧

這裡介紹如何更方便和容易的使用鉤子
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']); }
那樣,那麼就完全可以執行鉤子裡面的代碼了。
鉤子是一個非常靈活的機制,所以大家可以仔細的研究下這個機制,那麼設計出來的插件的安裝難度可以大大的降低。




歡迎光臨 AGAMES 討論區 (http://061244113049.ctinets.com/) Powered by Discuz! X2