/********************************************************************************/ /* Crossday Discuz! Board */ /* ======================== */ /* 歡迎使用 Discuz! 論壇,在您開始使用之前,請務必完整閱讀本軟件附帶的全部說明檔 */ /********************************************************************************/ /* Welcome to http://www.crossday.com & http://www.Discuz.net */ /********************************************************************************/ === Discuz! 插件開發說明 === Discuz! 採用標準的開發方式,為外掛插件提供了一系列完善的支持,無論插件如何設計, 數據結構如何,都不會影響到 Discuz! 自身的使用. 儘管如此,我們仍建議你在開發插件的同時遵循以下原則: 為了保證程序界面一致性,添加附件鏈接(包括前台和後台)請盡量在 config.php 中設置, 方法見後. 您可以修改Discuz!本身的數據結構,但更推薦在不很影響效率的前提下將數據用另外的表 存儲,因為不能排除您增加的字段和今後版本 Discuz! 衝突的可能(如重名) 如果功能獨立,請使用單獨的程序文件名而不要在 Discuz! 程序本身修改,這將給今後升級 帶來很大的方便.使用單獨程序時,請包含 Discuz! 通用初始化模塊 ./include/common.php, 以便共享登錄,權限等用戶狀態信息. config.php 提供的插件接口: // ==================Discuz!插件,配置和使用方法詳情請參考 faq.txt ============= $plugins[] = array ( 'name' => 'Test PlugIn', 'script' => 'my_plugin.php', 'url' => 'http://localhost/testplugin', 'cpurl' => 'http://localhost', 'tables' => array('table1', 'table2') ); // ============================================================================ 您可以在以上部位加入如上所示的數組 $plugins 即可實現插件接口. name 為插件的名字;script 為插件需要插入的程序名稱,如果不需要插入程序段,請留空; url 為插件在前台的 URL,cpurl 為插件在後台的接口 URL.如果插件不需要後台,設置 cpurl 為空即可,tables 為該插件所新增的數據表,目的在於使用完全備份和標準備份時會將插件的 新增表內容同時備份,如不需要備份或沒有新增數據表,此處可以留空. 需要注意,tables 參數必須為數組變量,若包含多個數據表,請將多個表名表示為數組元素. 另外表名中切勿包含表名前綴,如包含前綴的表名為 cdb_plugs(前綴 cdb_),插件配置中需使用 'plugs' 作表名. 我們為插件程序預留了一個擴展積分字段,即 members 表中的 extracreit,為整型有符號數. 您可以使用該字段用於插件程序的寫作,如擴展為金錢,威望等. 插件程序必須放在論壇中的 plugins 目錄中,否則會出現錯誤. Crossday Studio, 2003-5-30 13:30 http://www.Discuz.net http://www.crossday.com