AGAMES 討論區

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

Discuz! 插件設置及管理 [複製鏈接]

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

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

友誼之星勳章

跳轉到指定樓層
樓主
發表於 2009-1-16 15:57:09 |只看該作者 |倒序瀏覽
Discuz! 插件設置及管理插件,是基於 Discuz! 論壇系統之上,設計開發的一種小程序或小方案,用來實現對論壇現有功能擴展和改進。由於 Discuz! 已具有相當完備的底層架構,因此插件並不需要具備很多深層的設計思想,也不需要很專業的開發人員,只要把想實現的功能與論壇的基本體系掛接起來,論壇就能擁有更加個性化的功能。
那麼我針對插件管理和設置做一個詳細的說明。插件管理主要是針對插件設計者使用,而一般的使用者,使用插件設置即可。
我們進到後台 -> 擴展設置 -> 論壇插件,可以看到個當前安裝的插件。如圖 1 所示:
對於插件設計者來說,插件管理到底是怎麼使用的呢?或者怎麼設計一個插件呢?進插件管理選項。首先得新增加一個插件的配置,那麼在新增那裡,填寫好插件名稱和唯一標識符,提交後,就可以得到一個新的插件配置了的。如圖 2 所示:
下面的那個導入插件數據,這個文本輸入框,這個是把插件作者設計好的配置,直接粘貼,即可導入論壇。如果插件在論壇的版本不一致的情況下開發的,那麼勾選上 允許導入不同版本 Discuz! 的插件(易產生錯誤!!) 即可導入插件的配置詳細。
在我們新增加了一個插件配置後,我們得對插件的配置進行細節的配置。
那麼我們增加好的列表裡面,選擇對應的插件,點詳情,如圖 3 所示:
這個就是點帳戶中心的詳情,進來看到的各個基本配置。但是有這個基本配置還是不夠的。
那麼需要增加對應的模塊來實現需要的功能。但是因為為了插件的安全和使用我們提供的統一調用接口,那麼配置對應的模塊:如圖 4 所示:
增加對應模塊的方法,同樣是寫上模塊的名稱(模塊的標識符)和 菜單名稱即可增加新的模塊。
直接鏈接URL,這個選項,如果填寫,那麼這個就是在前台增加一個url鏈接,直接跳轉到你填寫的地址。
模塊類型有下面幾種:直接鏈接(前台菜單):可在前台右上角加入一個菜單項,可自主指派菜單鏈接的 URL。注意:由於引用外部程序,因此即便設置了模塊的使用等級,您的程序如需權限判斷,仍需要引用 common.inc.php 和插件相關的緩存文件,並自行判斷使用等級是否合法。
前台調用(前台菜單):與直接鏈接類似,但其調用的是插件的一個模塊,模塊文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”,由 plugin.php 調用此模塊。
後台調用(後台菜單):可在後台插件設置中為此插件增添一個管理模塊,模塊文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”,由 admincp.php 調用此模塊。
包含運行(無菜單):可設置一個在論壇所有頁面均包含運行的腳本,此腳本在 ./include/common.inc.php 中加載,腳本文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”。請注意,為了不導致錯誤的插件影響論壇運行,在 common.inc.php 加載此模塊時,屏蔽了錯誤信息,因此請務必仔細檢查是否存在語法錯誤,任何微小的語法錯誤都將不被提示出來,並且導致此模塊不被正常加載。如果您配置了不正確的包含腳本而導致論壇系統設置無法使用,刪除服務器上相應的腳本文件即可解決。
您可以為每個模塊設置不同的使用等級,例如設置為“超級版主”,則超級版主及更高的管理者(例如論壇管理員)可以使用此模塊。 前後台調用方式為:
如果您的插件包含“前台調用(前台菜單)”模塊,該模塊將統一用 plugin.php?identifier=xxx&module=yyy 的方式調用,請在相應鏈接、表單中使用此方式。其中 xxx 為插件的惟一標識符,yyy 為模塊名稱。前台插件外殼程序 plugin.php 已經加載了通用初始化模塊(./include/common.inc.php),不需再次引用。
如果您的插件包含“後台調用(後台菜單)”模塊,該模塊將統一用 admincp.php?action=plugins&identifier=xxx&mod=yyy 的方式調用,請在相應鏈接、表單中使用此方式。其中 xxx 和 yyy 的定義與“前台調用(前台菜單)”模塊中的相同。系統還允許用 admincp.php?action=plugins&edit=$edit&mod=$mod 的方式來生成鏈接和表單地址,$edit 和 $mod 變量已經被插件後台管理接口賦值,因此將這兩個變量值帶入 URL 中也是被支持的。由於後台模塊是被 admincp.php 調用,因此已加載了通用初始化模塊(./include/common.inc.php)並進行了後台管理人員權限驗證,因此模塊程序中可直接寫功能代碼,不需再進行驗證。
這些是模塊的設計,基本的變量設置,例如本插件需要用到的設置變量,那麼該怎麼增加的呢?
在前面點進某個插件的詳情,在最下面,就是顯示的是本插件當前所有的變量設置:如圖 5 所示:
變量的增加和前面插件的增加類似。例如增加好了一個 管理員是否可用的 這個變量設置,點詳情,如圖 6 所示:
根據每一項的左邊的提示就可以完成一個變量的設置。
我們設計的插件變量已經設置好了之後,如果我們需要修改到 Discuz! 本身的文件,那麼我們可以使用插件鉤子。如圖 7 所示:
點詳情:如圖 8 所示:
最後調用是在需要修改代碼的頁面增嵌入例如 eval($hooks['accounts_hook']); 這樣的代碼即可。
現在整個插件的管理我介紹的差不多了。
那麼設計出來的插件效果是什麼樣的呢,那麼我們可以到插件設置來看,進入插件設置,如圖 9 所示:
這裡就把論壇安裝的所有的插件都羅列出來。
就以我們增加的插件帳戶中心來看看我們的設計:
首先是插件參數設置:如圖 10 所示:
對應插件管理的設置:如圖 11 所示:
參數設置的效果就是這個樣子表現了的。
那麼 模塊:綁定搜索 的效果,如圖 12 所示:(訪問的地址:admincp.php?action=plugins&identifier=accounts&mod=stats)
這個對應的插件管理,如圖 13 所示:
那麼實際上是後台調用執行了我自己寫的模塊代碼:./plugins/accounts/stats.inc.php ,如圖 14 所示:
模塊:參數設置 的效果,如圖 15 所示:(訪問地址:admincp.php?action=plugins&identifier=accounts&mod=setting)
對應插件管理:如圖 16 所示:
那麼實際上是後台調用執行了我自己寫的模塊代碼:./plugins/accounts/setting.inc.php 。
後台的插件設置已經已經介紹完畢,那麼剛才還有一個 帳戶中心的這個模塊,這個到哪去了呢?
這個設置為前台的鏈接:如圖 17 所示:
可以看出是前台的菜單模塊,而且是直接鏈接的。
那麼到前台看是什麼效果的呢?如圖 18 所示:
就是顯示一個鏈接,跳到你設置的直接鏈接的 url 。
一個插件配置設計基本就是上面說明了的,我們可以根據需要關閉或者導出這個插件配置如圖 19 所示:
看完上面所有的說明,是不是發現設計一個插件也是如此簡單!
Alta Multimedia - OnlineGames:http://www.alta.hk
您需要登錄後才可以回帖 登錄 | 快速註冊

Archiver|手機版|AGAMES 討論區

GMT+8, 2024-11-30 07:31 , Processed in 0.041716 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部