苹果CMS文档

苹果CMSV10插件目录结构介绍

2025-03-14 共人阅读

苹果CMS V10插件目录结构

苹果CMS V10 的插件统一存放在网站根目录的 addons 目录中,每个插件对应一个独立目录。插件目录名称就是插件标识,必须与插件标识保持一致,并且全部使用小写字母,不允许使用大写字母、下划线等特殊符号。

例如,一个名为 mydemo 的插件,其基本目录结构如下:

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      // 插件数据库安装文件

苹果CMS V10插件目录及文件说明

苹果CMS插件目录中的不同文件和文件夹承担不同功能。开发插件时,需要根据实际功能将文件放置到对应目录中。

1、APPlication目录

application 目录中的文件会覆盖到网站根目录的 /application 目录中。

这个目录主要用于开发插件涉及的后台管理功能。例如,可以先在苹果CMS后台完成对应的管理功能开发,测试无误后,再将相关文件整理并打包到插件的 application 目录中。

苹果CMS在插件安装和卸载过程中会进行文件冲突检测。如果发现需要覆盖或删除的文件已经存在,系统会提示用户确认相关操作。

2、assets目录

assets 是插件中比较重要的资源目录。插件安装后,苹果CMS会将该目录中的文件和文件夹复制到:

/static/addons/插件标识/

例如插件标识为 mydemo,那么资源文件最终会被复制到:

/static/addons/mydemo/

需要注意的是,assets 目录中的文件不会进行文件冲突检测。因此开发插件时,应注意资源文件的命名,避免与其他插件或网站现有文件产生冲突。

在插件视图文件中,可以使用 __ADDON__ 指向当前插件的资源目录。例如开发CSS、JS、图片等静态资源时,可以先使用相对路径完成页面开发,完成后再统一增加 __ADDON__ 前缀。

3、controller目录

controller 是插件控制器目录,主要用于编写插件前台功能及相关业务逻辑。

它属于插件MVC结构中的控制器部分,插件安装后不会被复制或移动到其他目录。

4、lang目录

lang 是插件语言包目录,用于存放插件所需的语言文件。

如果插件需要支持不同语言环境,可以将对应的语言内容放置在该目录中进行管理。

5、model目录

model 是插件模型目录,主要用于存放插件的数据模型及相关数据库操作代码。

该目录同样属于插件自身的MVC结构,安装插件时不会复制到网站其他位置。

6、view目录

view 是插件视图目录,用于存放插件前台页面模板以及相关视图文件。

插件的 controller、model、view 三个目录共同组成插件的MVC功能结构。

7、Mydemo.php核心文件

Mydemo.php 是插件的核心文件,主要用于处理插件安装、卸载以及插件相关事件。

在该文件中,可以编写插件安装或卸载时需要执行的脚本,也可以实现插件菜单的生成、删除以及插件行为方法等功能。

插件核心文件的命名通常遵循插件标识首字母大写的规则。例如插件标识为:

mydemo

对应的核心文件为:

Mydemo.php

苹果CMS支持的插件行为事件以及相关开发方式,可以结合具体插件功能进一步进行扩展。

8、bootstrap.js启动文件

bootstrap.js 是插件的JavaScript启动文件。

插件安装并启用后,苹果CMS会将该文件中的内容合并到:

/static/js/addons.js

因此,可以在 bootstrap.js 中编写插件所需的核心JavaScript代码或者注册相关事件。

在该JS文件中可以使用 require 加载其他模块,同时还可以使用 Fast、Backend、Lang 等全局对象,因为这些对象在插件启动之前已经完成加载和注册。

9、LICENSE版权文件

LICENSE 用于保存插件的版权及授权相关信息。是否必须提供以及具体内容,可以根据插件发布和授权方式自行设置。

10、config.html配置模板

config.html 是插件的自定义配置视图模板,属于可选文件。

如果插件需要在苹果CMS后台提供自定义配置界面,可以通过该文件设计对应的配置页面。

11、config.php配置文件

config.php 是插件的配置文件。当用户在苹果CMS后台的插件管理中点击插件的“配置”按钮时,会使用该文件处理相关配置。

如果插件需要提供后台配置功能,需要根据插件实际需求编写对应的配置内容。

苹果CMS V10插件info.ini文件详解

info.ini 用于保存插件的基本信息以及插件启用状态等内容,是插件结构中的重要文件。

一个基本的 info.ini 示例:

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

info.ini常用参数说明

参数说明
name插件标识,例如 mydemo。
title插件名称,用于后台显示。
intro插件简介。
author插件作者或开发者信息。
website插件作者或项目网站地址。
version插件版本号。
state插件状态,根据程序规则设置。
image插件图标或展示图片路径。
url插件访问地址或相关入口。

苹果CMS V10插件install.sql数据库文件

install.sql 是插件的数据库安装文件,文件内容只能使用SQL语句。

插件安装时,苹果CMS会自动读取该文件并导入其中的SQL语句,因此可以通过该文件创建插件所需的数据表、字段以及初始化数据。

在 install.sql 中可以使用:

__PREFIX__

作为数据库表前缀占位符。苹果CMS在安装导入SQL时会自动将其替换为当前网站实际使用的数据表前缀。

例如,插件数据库表可以使用类似以下方式定义:

CREATE TABLE `__PREFIX__mydemo` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `title` varchar(255) NOT NULL DEFAULT '',
    `time` int(10) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
);

这样可以避免插件直接写死数据库表前缀,提高插件在不同苹果CMS站点环境中的兼容性。

苹果CMS V10插件开发流程

开发一个完整的苹果CMS V10插件时,可以按照以下思路组织文件:

  1. 首先确定唯一的插件标识,并使用全小写字母命名插件目录。

  2. 创建插件核心文件,例如 Mydemo.php。

  3. 创建 info.ini,填写插件名称、版本、作者等基础信息。

  4. 根据插件功能创建 controller、model、view 和 lang 目录。

  5. 需要静态资源时,将CSS、JS、图片等文件放入 assets 目录。

  6. 需要数据库表时,在 install.sql 中编写安装SQL。

  7. 需要后台功能时,可以通过 application 目录扩展或覆盖相应功能。

  8. 需要插件启动JS时,可以在 bootstrap.js 中注册相关代码和事件。

  9. 完成测试后,将整个插件目录打包,即可用于安装部署。

苹果CMS V10插件开发注意事项

  • 插件目录名称必须与插件标识保持一致,并按照程序要求使用小写字母。

  • application 中的文件可能覆盖网站根目录对应文件,发布插件前应仔细检查文件冲突。

  • assets 中的文件不会进行冲突检测,静态资源命名时应尽量使用具有插件特征的名称。

  • controller、model、view 和 lang 属于插件自身目录,不需要复制到其他位置。

  • info.ini 用于保存插件基础信息,是插件正常识别的重要文件。

  • install.sql 中涉及数据表时,建议使用 __PREFIX__,不要直接写死数据库表前缀。

  • 插件正式发布前,应分别测试安装、启用、配置、禁用和卸载流程,确认文件及数据库处理正常。

总结

苹果CMS V10采用独立插件目录管理机制,每个插件都可以拥有自己的控制器、模型、视图、语言包以及静态资源。理解 application、assets、controller、model、view、bootstrap.js、info.ini 和 install.sql 等文件的作用,是进行苹果CMS插件开发和二次开发的基础。

其中,info.ini负责插件基本信息,Mydemo.php负责插件核心安装、卸载及相关行为,bootstrap.js负责插件前端JavaScript启动,而 install.sql则用于插件数据库结构安装。按照规范组织插件目录后,可以将开发完成的功能直接打包成独立插件进行部署。

标签:目录