1. 插件的基礎是物理文件,所以插件類的結構一定要和官方一致。開發階段不要隨便刪除文件,導致系統運行不正常。要刪除插件請先后臺卸載插件后再刪除物理文件,否則鉤子表有臟數據或者叫未掛載的插件,進鉤子列表刪除。
2. 插件的資源文件的存放,首先插件本身應當保存原始靜態資源,然后 安裝的時候,通過install 方法 移動到wwwroot/Public/Home/Addons/下,然后用`__PUBLIC__`常量拼好資源路徑去獲取。如果不想移動,模板中可以用`__ADDONROOT__`?表示插件根目錄。
3. 整個產品的上傳目錄在/Uploads下,編輯器統一上傳到下面的Editor目錄里。并且配置好上傳后綴,比如只允許圖片的后綴,發布時沒定義后綴,被人上傳了php文件篡改了系統文件,是個嚴重的漏洞。安全由二次開發者自己把握。
4. 鉤子里掛載的插件是可以排序和刪除的。如后臺首頁鉤子的編輯頁,見下圖:?
所以當一個插件安裝失敗了,鉤子上寫入了該插件,沒事直接去鉤子配置里刪除整個插件掛載就行了。 而且同一個展示的鉤子上掛載了多個插件,直接后臺排個序更新下就生效執行的順序了。不用去數據庫改了,方便吧。
1. 后臺首頁的鉤子,上樣式是公用的,如果想擴展這樣的插件,直接復制SystemInfo插件改改類名和顯示內容就可以了,改好安裝就行了。顯示寬度配置里可以設置1、2、4格子。以后會提供刷新接口和最小化js函數。等正式版發布了,同步對比下那個插件就好了。
* 擴展這塊屬于開發人員負責,所以鉤子的編輯更新,只有超級管理員可以管理,其他人沒有權限編輯的。亂加、亂刪都會影響系統穩定性和效率。
1. 注意插件類里assign賦值的變量在整個程序模板中有和相應頁面控制器的模板的一樣的作用域,因此會存在變量被污染的情況,就是我在插件里賦值一個data,在插件前的控制器里賦值data變量就被插件污染了,會造成開發上很大的困惑,因此我們強烈建議大家給插件向模板賦值的時候加上`addons_`前綴,這樣被污染的機率小很多了。