# 描述文件
每个模块都有一个描述文件,一般位于Application/{模块名}/opencmf.php,
描述文件里定义了这个模块的基础信息比如模块的简介、版本、开发者、依赖、配置、`后台菜单等等`。
注意,每次修改opencmf.php后都需要在`后台-系统-扩展中心-功能模块` 找到对应的模块点击更新菜单并清除缓存才能生效。
## 示例
一个常规的opencmf.php文件内容参考如下:
```php
<?php
// +----------------------------------------------------------------------
// | 零云 [ 简单 高效 卓越 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016 http://www.lingyun.net All rights reserved.
// +----------------------------------------------------------------------
// | Author: jry <598821125@qq.com>
// +----------------------------------------------------------------------
// 模块信息配置
return array(
// 模块信息
'info' => array(
'name' => 'Shop', // 需要与模块名保持一致,否则系统无法识别
'title' => '商城', // 模块的中文名称,建议2-4个汉子
'icon' => 'fa fa-shopping-cart', // 模块的图标
'icon_color' => '#9933FF', // 模块图标默认颜色
'description' => '商城模块', // 模块简介
'developer' => '南京科斯克网络科技有限公司', // 开发者
'website' => 'http://www.lingyun.net', // 开发者网址
'version' => '1.6.0', // 模块当前版本
'dependences' => array(
'Admin' => '1.6.0', // 该模块依赖核心模块1.6.0以上版本
'User' => '1.6.0', // 该模块依赖用户模块1.6.0以上版本
'Wallet' => '1.6.0', // 该模块依赖钱包模块1.6.0以上版本
),
),
// 用户中心导航
'user_nav' => array(
// 这里配置的导航是显示在前台右上角用户登陆后鼠标滑过的导航
'main' => array(
'0' => array(
'title' => '我的订单',
'icon' => 'fa fa-list',
'url' => 'Shop/Order/my',
'color' => '#398CD2',
),
'1' => array(
'title' => '我的购物车',
'icon' => 'fa fa-shopping-cart',
'url' => 'Shop/Cart/my',
'color' => '#FDC300',
),
'2' => array(
'title' => '收藏的商品',
'icon' => 'fa fa-star',
'url' => 'Shop/Mark/my',
'color' => '#DC6AC6',
),
),
// 这里配置的导航是显示在前台个人中心左侧导航列表的项目
'center' => array(
'0' => array(
'title' => '我的订单',
'icon' => 'fa fa-list',
'url' => 'Shop/Order/my',
'color' => '#398CD2',
),
'1' => array(
'title' => '我的购物车',
'icon' => 'fa fa-shopping-cart',
'url' => 'Shop/Cart/my',
'color' => '#FDC300',
),
'2' => array(
'title' => '收藏的商品',
'icon' => 'fa fa-star',
'url' => 'Shop/Mark/my',
'color' => '#DC6AC6',
),
),
),
// 后台菜单及权限节点配置
// 后台菜单及权限节点需要在这里编辑,并点击更新菜单方可生效
// 注意仔细研究下上下级关系,也就是pid
'admin_menu' => array(
'1' => array(
'pid' => '0',
'title' => '商城',
'icon' => 'fa fa-shopping-cart',
),
'2' => array(
'pid' => '1',
'title' => '商城管理',
'icon' => 'fa fa-folder-open-o',
),
'3' => array(
'pid' => '2',
'title' => '商城设置',
'icon' => 'fa fa-wrench',
'url' => 'Shop/Index/module_config',
),
'4' => array(
'pid' => '2',
'title' => '导航管理',
'icon' => 'fa fa-map-signs',
'url' => 'Shop/Nav/index',
),
'5' => array(
'pid' => '4',
'title' => '新增',
'url' => 'Shop/Nav/add',
),
'6' => array(
'pid' => '4',
'title' => '编辑',
'url' => 'Shop/Nav/edit',
),
'7' => array(
'pid' => '4',
'title' => '设置状态',
'url' => 'Shop/Nav/setStatus',
),
'8' => array(
'pid' => '2',
'title' => '首页幻灯',
'icon' => 'fa fa-image',
'url' => 'Shop/Slider/index',
),
'9' => array(
'pid' => '8',
'title' => '新增',
'url' => 'Shop/Slider/add',
),
'10' => array(
'pid' => '8',
'title' => '编辑',
'url' => 'Shop/Slider/edit',
),
'11' => array(
'pid' => '8',
'title' => '设置状态',
'url' => 'Shop/Slider/setStatus',
),
'12' => array(
'pid' => '1',
'title' => '店铺管理',
'icon' => 'fa fa-folder-open-o',
),
'13' => array(
'pid' => '12',
'title' => '店铺列表',
'icon' => 'fa fa-archive',
'url' => 'Shop/Store/index',
),
'14' => array(
'pid' => '13',
'title' => '新增',
'url' => 'Shop/Store/add',
),
'15' => array(
'pid' => '13',
'title' => '编辑',
'url' => 'Shop/Store/edit',
),
'16' => array(
'pid' => '13',
'title' => '设置状态',
'url' => 'Shop/Store/setStatus',
),
'17' => array(
'pid' => '12',
'title' => '店铺分类',
'icon' => 'fa fa-tasks',
'url' => 'Shop/StoreCate/index',
),
'18' => array(
'pid' => '17',
'title' => '新增',
'url' => 'Shop/StoreCate/add',
),
'19' => array(
'pid' => '17',
'title' => '编辑',
'url' => 'Shop/StoreCate/edit',
),
'20' => array(
'pid' => '17',
'title' => '设置状态',
'url' => 'Shop/StoreCate/setStatus',
),
'21' => array(
'pid' => '1',
'title' => '商品管理',
'icon' => 'fa fa-folder-open-o',
),
'22' => array(
'pid' => '21',
'title' => '商品模型',
'icon' => 'fa fa-th-large',
'url' => 'Shop/Type/index',
),
'23' => array(
'pid' => '22',
'title' => '新增',
'url' => 'Shop/Type/add',
),
'24' => array(
'pid' => '22',
'title' => '编辑',
'url' => 'Shop/Type/edit',
),
'25' => array(
'pid' => '22',
'title' => '设置状态',
'url' => 'Shop/Type/setStatus',
),
'26' => array(
'pid' => '22',
'title' => '属性管理',
'icon' => 'fa fa-list',
'url' => 'Shop/Attribute/index',
),
'27' => array(
'pid' => '26',
'title' => '新增',
'url' => 'Shop/Attribute/add',
),
'28' => array(
'pid' => '26',
'title' => '编辑',
'url' => 'Shop/Attribute/edit',
),
'29' => array(
'pid' => '26',
'title' => '设置状态',
'url' => 'Shop/Attribute/setStatus',
),
'30' => array(
'pid' => '21',
'title' => '商品品类',
'icon' => 'fa fa-sitemap',
'url' => 'Shop/Category/index',
),
'31' => array(
'pid' => '30',
'title' => '新增',
'url' => 'Shop/Category/add',
),
'32' => array(
'pid' => '30',
'title' => '编辑',
'url' => 'Shop/Category/edit',
),
'33' => array(
'pid' => '30',
'title' => '设置状态',
'url' => 'Shop/Category/setStatus',
),
'34' => array(
'pid' => '21',
'title' => '品牌列表',
'icon' => 'fa fa-th-large',
'url' => 'Shop/Brand/index',
),
'35' => array(
'pid' => '34',
'title' => '新增',
'url' => 'Shop/Brand/add',
),
'36' => array(
'pid' => '34',
'title' => '编辑',
'url' => 'Shop/Brand/edit',
),
'37' => array(
'pid' => '34',
'title' => '设置状态',
'url' => 'Shop/Brand/setStatus',
),
'38' => array(
'pid' => '21',
'title' => '商品列表',
'icon' => 'fa fa-navicon',
'url' => 'Shop/Index/index',
),
'39' => array(
'pid' => '38',
'title' => '新增',
'url' => 'Shop/Index/add',
),
'40' => array(
'pid' => '38',
'title' => '编辑',
'url' => 'Shop/Index/edit',
),
'41' => array(
'pid' => '38',
'title' => '设置状态',
'url' => 'Shop/Index/setStatus',
),
'42' => array(
'pid' => '1',
'title' => '订单管理',
'icon' => 'fa fa-folder-open-o',
),
'43' => array(
'pid' => '42',
'title' => '订单列表',
'icon' => 'fa fa-shopping-cart',
'url' => 'Shop/Order/index',
),
'44' => array(
'pid' => '43',
'title' => '新增',
'url' => 'Shop/Order/add',
),
'45' => array(
'pid' => '43',
'title' => '编辑',
'url' => 'Shop/Order/edit',
),
'46' => array(
'pid' => '43',
'title' => '设置状态',
'url' => 'Shop/Order/setStatus',
),
'47' => array(
'pid' => '43',
'title' => '查看',
'url' => 'Shop/Order/detail',
),
'48' => array(
'pid' => '43',
'title' => '改价',
'url' => 'Shop/Order/change_money',
),
'49' => array(
'pid' => '43',
'title' => '发货',
'url' => 'Shop/Order/send',
),
'50' => array(
'pid' => '43',
'title' => '快递信息',
'url' => 'Shop/Order/express_detail',
),
'51' => array(
'pid' => '42',
'title' => '快递管理',
'icon' => 'fa fa-globe',
'url' => 'Shop/Express/index',
),
'52' => array(
'pid' => '51',
'title' => '新增',
'url' => 'Shop/Express/add',
),
'53' => array(
'pid' => '51',
'title' => '编辑',
'url' => 'Shop/Express/edit',
),
'54' => array(
'pid' => '51',
'title' => '设置状态',
'url' => 'Shop/Express/setStatus',
),
'55' => array(
'pid' => '1',
'title' => '广告管理',
'icon' => 'fa fa-folder-open-o',
),
'56' => array(
'pid' => '55',
'title' => '广告位列表',
'icon' => 'fa fa-adn',
'url' => 'Shop/Ad/index',
),
'57' => array(
'pid' => '56',
'title' => '新增',
'url' => 'Shop/Ad/add',
),
'58' => array(
'pid' => '56',
'title' => '编辑',
'url' => 'Shop/Ad/edit',
),
'59' => array(
'pid' => '56',
'title' => '设置状态',
'url' => 'Shop/Ad/setStatus',
),
),
);
```
- 简介
- 环境要求
- 安装系统
- 目录结构
- 常见问题
- 基础知识
- 编辑器
- 前端规范
- 前端框架文档
- Builder教程
- Builder的来历
- ListBuilder使用
- setMetaTitle
- addTopButton
- setSearch
- addSearchItem
- setTabNav
- addTableColumn
- setTableDataList
- setTableDataListKey
- setTableDataPage
- addRightButton
- alterTableData
- setExtraHtml
- setTemplate
- FormBuilder使用
- setMetaTitle
- setTabNav
- setExtraItems
- setPostUrl
- addFormItem
- setFormData
- setExtraHtml
- setAjaxSubmit
- setTemplate
- 扩展FormBuilder
- 模块开发
- 创建模块
- 描述文件
- 模型( M )
- 模版( V )
- 控制器( C )
- API接口
- 核心模块
- 文件上传
- 微信小程序模块
- 注册登陆接口
- 钱包模块
- 统一支付
- Cms模块
- 幻灯片接口
- 文档列表接口
- 文档详情接口
- 发表评论接口
- 评论列表接口
- 收藏的文档接口
- 收藏接口
- 分类列表接口
- IM模块
- 发送消息接口
- 最近聊天列表接口
- 查询新消息接口
- 插件相关
- 短信插件
- 支付插件
- 支付宝支付
- 微信支付
- 站群模块
- 模板开发
- 准备工作
- 目录结构
- 数据调用
- 专题
- 插件开发
- 图片显示
- 获取用户信息
- 判断用户登陆
- 表单提交AjaX
- 文件上传
- 2.0兼容写法
- 模板标签
- 核心模块
- Cms模块
- 栏目分类调用
- Cordova
- 配置跨域支持
- 本地开发调试教程
- 打包成apk和ipa
- 自定义APP信息
- 常见问题
- 申请Apple开发者账户
- 多主题开发
- 新建主题
- 目录结构
- 模板变量
- 定制安装部署