# 插件目录

# 文件结构

苹果cmsv10所有插件都是存放在addons目录,一个插件一个目录,目录名必须和插件标识相同,且全部为小写,不允许出现大写或下划线等特殊符号。

maccms
 └─ addons
 │   └─mydemo //插件标识
 │        ├─application    //此文件夹中所有文件会覆盖到根目录的/application文件夹
 │        ├─assets        //此文件夹中所有文件会复制到/static/addons/mydemo文件夹
 │        ├─controller    //此文件夹为插件控制器目录
 │        ├─lang            //此文件夹为插件语言包目录
 │        ├─model            //此文件夹为插件模型目录
 │        ├─view            //此文件夹为插件视图目录
 │        ├─Mydemo.php        //此文件为插件核心安装卸载控制器,必需存在
 │        ├─bootstrap.js    //此文件为插件JS启动文件
 │        ├─LICENSE        //版权文件
 │        ├─config.html    //自定义插件配置视图模板,可选
 │        ├─config.php    //插件配置文件,我们在后台插件管理中点配置按钮时配置的文件,必需存在
 │        ├─info.ini        //插件信息文件,用于保存插件基本信息,插件开启状态等,必需存在
 │        └─install.sql    //插件数据库安装文件,此文件仅在插件安装时会进行导入
 ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

TIP

其中的application文件夹会覆盖到根目录,这两个文件夹主要用于我们后台管理功能的开发,我们可以先在后台开发好对应的管理功能后,再将对应的功能打包进插件即可,苹果cms在插件安装和卸载时会自动进行文件冲突检测,如果遇到冲突的文件会提醒用户是否进行覆盖或删除。

assets这个文件夹很关键,苹果cms 会将assets中的所有文件夹和文件复制到/static/addons/插件标识/文件夹中去,assets文件夹中的所有文件不会进行文件冲突检测,/static/addons/插件标识/这个目录下的文件,我们在视图文件中可以直接通过__ADDON__指向这个路径。因此在开发视图时我们可以先使用相对路径设计,完成后我们再统一加上这个__ADDON__的前缀

  • controllerlangmodelview这四个文件夹是我们插件前台功能的MVC部分,这部分文件夹不会复制或移动到其它位置。

  • Mydemo.php这个文件是插件的核心文件,我们可以在这个文件中编写插件安装或卸载时执行的脚本,或者在此插件中编写菜单的生成或删除,同时插件的行为方法也是编写在此文件中的,插件所支持的行为事件会在后面讲到。此文件命令规则为插件标识首字母大写。

  • bootstrap.js这个文件是插件的启动文件,插件在安装完启用后,苹果cms会将此文件中的内容合并到/static//js/addons.js中去,你可以在此编写插件核心JS或注册事件,在此JS中可以使用require依赖其它模块。同时在此插件中可以使用Fast、Backend、Lang等全局对象,因为在此之前此类对象已经加载且注册。

  • config.html这个文件是插件的配置时使用的视图模板,可选,当存在时,插件管理中点配置按钮会调用这个视图文件。

  • config.php这个文件是插件的配置文件,我们在后台插件管理中点配置按钮时会保存在此文件,config.php详细使用方法和说明请参考配置章节。

# info.ini介绍

这个文件仅用于保存插件基础信息和开启状态,此文件的内容格式为

name = mydemo
title = 示例插件
intro = 这是一个示例插件的介绍
author = 大图模板  
website = http://www.datll.com
version = 1.0.0
state = 1
image = /static/addons/mydemo/img/logo.jpg
url = /addons/mydemo.html

1
2
3
4
5
6
7
8
9
10

install.sql这个文件中只能是SQL语句,同时在此文件中可以使用__PREFIX__表示数据库表前缀,苹果cms在安装导入SQL时自动进行替换。install.sql的详细使用方法请参考数据库章节