codecamp

SentCMS 插件

插件是用于扩展系统的功能的一些独立“组件”。

功能定义

插件的定位是用于实现某些简单的显示及数据处理的功能扩展。所以我们的初衷是插件的开启关闭,不会影响原有数据。

为了管理的方便,我们在后台给插件默认提供了插件列表页,钩子列表,以及配置插件、快速创建插件结构、安装、卸载、启用停用、插件后台页面,方便大家定义管理插件相关的数据。

物理定义

位于站点根目录 wwwroot/Addons 下的一个类库,可以被系统的hooks函数访问到。

目录结构如以下(以自带的Editor插件为示范):

|-wwwroot
| |-Addons [所有插件目录]
| | |-Editor [插件目录]
| | | |-Controller [控制器目录,有URL访问的时候才需要,可选]
| | | | |-UploadController.class.php [插件控制器,名字可以不和插件名一样]
| | | |-config.php [配置文件, 有配置项的话可选]
| | | |-content.html [插件模板页面,可选]
| | | |-EditorAddons.class.php [插件定义和实现的文件,必须有!!]
| | | |-[adminlist.html、config.html] [这些模板可选,用于自定义插件的配置页和列表页]

目前仅介绍一下目录结构,在插件开发中将讲解每个文件如何定义。

SentCMS 权限管理指南
SentCMS 钩子
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }