## 理解插件的含義
先通讀《插件開發指南》,理解插件和鉤子的含義,以及插件的安裝、執行、配置、卸載流程。
## 弄清自己待開發的插件需求-要完成的邏輯業務
問自己幾個問題:
1. 插件的基本信息(名稱、標識、描述、狀態、作者、版本)是哪些
2. 插件的用途是擴展顯示還是控制數據
3. 插件對使用控制器是否有要求,要不要單獨的數據表(要調用插件的模型)
4. 插件要用哪些鉤子、一個還是多個
5. 插件需要配置不,要的話,有哪些選項,要不要用分組,要不要自定義配置顯示模板
6. 插件需要后臺不,默認顯示數據,還是高級后臺(有自己的管理界面和詳情等)
## 快速創建插件,進行插件的完善
進入“擴展”-》“插件管理”點“快速創建”進入創建階段,填寫基本信息,按照自身的需求、想好的問題勾選適當的選項。 配置目前還沒做到可視化,大家先默認創建好文件,然后去文件里修改,都是數組,參照“插件后臺開發”里的配置說明。
## 例子
首先清楚插件就是符合一定規范擁有一定目錄結構的類文件。
然后清楚自己要開發的插件的要求,在什么位置顯示、是否有配置文件、是否需要外部url訪問、是否需要后臺顯示。
接下來我們就用后臺快速開發一個Example插件示范。
首先,進入后臺->擴展->插件列表->快速創建。會出現一個如下的頁面。?
由于僅作簡單的示范,我們不需要配置文件和外部控制器,都用默認的。鉤子我們選‘documentDetailAfter’;最新版已經支持多選了。
可以點“預覽”按鈕看下將要生成的類文件,如下圖:

點確定后,出現“創建成功”,并且列表里出現“示列”這個插件表示插件已經創建成功了。
然后我們可以看見生成的類文件 documentDetailAfter方法里什么都沒有。我們在里面輸出點文字,見下圖:

然后后臺安裝下,進入前臺文章?其實和我們開發widget方法沒啥太大區別。只不過這里前臺用hook函數調用類里的鉤子方法。
因為本產品使用了命名空間,所以插件類的引入需要通過命名空間的寫法,才能正確自動加載類。而我們的快速創建就是為你們指定好插件定義信息后,自動創建一些規范的目錄文件。所以你們只需要考慮插件的一些信息即可。
如果需要外部url 訪問插件里的控制器。需要用addons_url(‘插件名://控制器名/方法’) 這樣訪問控制器。控制器里必須繼承Home/AddonsController類。不能繼承后臺的。那個里面很多方法插件用不到,是為后臺所定制的。要使用,只需在創建時候勾選‘是否需要外部訪問’,就會自動創建控制器目錄和文件,還有Model目錄。然后自己按需修改吧。