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

由于僅作簡單的示范,我們不需要配置文件和外部控制器,都用默認的。鉤子我們選‘documentDetailAfter’;最新版已經支持多選了。
可以點“預覽”按鈕看下將要生成的類文件,如下圖:

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

其實和我們開發widget方法沒啥太大區別。只不過這里前臺用hook函數調用類里的鉤子方法。
因為本產品使用了命名空間,所以插件類的引入需要通過命名空間的寫法,才能正確自動加載類。而我們的快速創建就是為你們指定好插件定義信息后,自動創建一些規范的目錄文件。所以你們只需要考慮插件的一些信息即可。
如果需要外部url 訪問插件里的控制器。需要用addons_url(‘插件名://控制器名/方法’) 這樣訪問控制器。控制器里必須繼承Home/AddonsController類。不能繼承后臺的。那個里面很多方法插件用不到,是為后臺所定制的。要使用,只需在創建時候勾選‘是否需要外部訪問’,就會自動創建控制器目錄和文件,還有Model目錄。然后自己按需修改吧。
- 準備
- 概覽
- 獲取
- 安裝
- 后臺管理
- 首頁
- 內容
- 系統
- 網站設置
- 配置管理
- 菜單管理
- 分類管理
- 模型管理
- 導航管理
- 數據備份
- 擴展
- 用戶
- 用戶信息
- 用戶行為
- 行為日志
- 權限管理
- 應用
- 架構設置
- 應用架構及目錄結構
- 獨立模型
- 插件設計
- 用戶行為設計
- 權限設計
- 文檔模型設計
- 分類設計
- 二次開發
- 命名規范與編碼規范
- 數據字典
- 公共函數和庫函數使用規范
- 模板開發指南
- 權限管理指南
- 插件開發指南
- 什么是插件?
- 什么是鉤子?
- 插件的開發流程
- 插件后臺的開發
- 插件開發注意事項
- 模型擴展開發指南
- 獨立模型擴展
- 文檔模型擴展
- 附錄
- 配置參考
- 函數庫參考
- Common函數庫
- admin函數庫
- Home函數庫
- 類庫參考