这里不说后台一键复制 仅仅是以cms 为例简单的说下各个文件 各个配置的作用是什么
member_menu.php 会员中心菜单文件
~~~
<?php
return [
'cms' => [ // 模块目录名 小写
'title' => 'cms', // 模块目录名
'sons' => [
[
'title' => 'CMS功能', // 父级菜单名称
'sons' => [
[
'title' => '我发布的内容', //子菜单名称
'link' => 'content/index' //子菜单连接
],
[
'title' => '发布内容', //子菜单名称
'link' => 'content/postnew'
],
[
'title' => '采集公众号文章', //子菜单名称
'link' => 'content/copynews' //子菜单连接
]
]
]
]
]
];
~~~
Info.php
~~~
<?php
namespace app\cms; // 命名空间到cms模块 新模块的需要 把cms改为模块名 小写 小写 小写
// 下面这里保持不变即可
class Info{
public static $keyword;
}
~~~
config.php
~~~
<?php
return [
//自动表单 前台列表页母模板
'automodel_listpage'=>APP_PATH.'cms/view/index/default/content/list.htm',
//自动表单 前台详情展示页母模板
'automodel_showpage'=>APP_PATH.'cms/view/index/default/content/show.htm',
//自动表单 前台辅栏目列表页母模板
'automodel_category_listpage'=>APP_PATH.'common/builder/listpage/category_list.htm',
//发布信息选择模型页模板
'post_choose_model'=>APP_PATH.'common/builder/sort/model_list.htm',
//发布信息选择栏目页模板
'post_choose_sort'=>APP_PATH.'common/builder/sort/layout.htm',
// 是不是有副栏目 没有就删除
'use_category'=>true,
//发布内容必须要选择栏目 不是的话就写 false
'post_need_sort'=>true,
//模块关键字,目录名,也是数据表区分符
'system_dirname'=>basename(__DIR__),
];
~~~
admin_menu.php 配置和会员中心菜单配置方法是一致的 不多写了 参考cms示例
install 目录 Copyinstall.php 复制的时候执行 默认或者删除就可以
install 目录 Install.php 安装的时候执行的脚本 不需要执行留空或者删除 下面是一个小示例 没实际意义 仅仅是示例
~~~
<?php
namespace app\cms\install;
use app\common\controller\AdminBase;
class Install extends AdminBase{
public function run($id=0){
$hook=db('hook')->where(['name'=>'cms_content_show'])->find(); //读取钩子表
//判断钩子是不是存在 不存在就执行安装钩子操作
if(!$hook){
$data=['name'=>'cms_content_show','about'=>'内容展示页接口','ifopen'=>'1'];
db('hook')->insert($data);
}
//这里可以执行任意php代码
}
}
~~~
install 目录 install.sql 安装的SQL脚本 没得说码农都懂
install 目录Uninstall.php 卸载脚本 和安装脚本一样可以执行卸载模块时候的动作 下面是个小示例 一样没有实际意义仅仅是演示
~~~
<?php
namespace app\cms\install;
use app\common\controller\AdminBase;
class Uninstall extends AdminBase{
public function run($id=0){
$plugins=db('plugin')->where(['id'=>$id])->value('keywords');
//卸载钩子动作
db('hook_plugin')->where('plugin_key',$plugins)->delete();
}
}
~~~
install 目录 uninstall.sql 没用的可以删除
install 目录 info.php
~~~
<?php
return [
'keywords'=>basename(dirname(__DIR__)), //关键字,即是目录名也是数据表区分符
'name'=>'CMS系统', //模块名称
'author'=>'齐博', //开发者
'author_url'=>'http://www.php168.com', //开发者网站或者是演示网址
'type'=>'1', //当前模块是否可以复制 不可以复制就设为0
'about'=>'这里是模块介绍 字数不宜过多', //介绍
'version'=>'1.0', //版本号
'icon'=>'fa fa-fw fa-file-text', //CSS图片 小技巧后台模块哪里有图标选择器 可以选择个性图标
'ifsys'=>'0', //是否禁止卸载 禁止卸载就设为 1 不建议这么做
'config_group' =>['基础设置',], //参数配置分组 不建议写基础设置 可以改为 模块名设置 比如 cms设置 不然核心设置哪里一堆基础设置
//涉及到的数据表,不要写前缀
'sql_db' =>['content','content1','content2','content3','field','module','member','sort','category','info'], // 你这个模块有哪些数据表都要写在这里不然卸载的时候卸载不掉数据表 数据库命名格式 qb_模块名_数据表 比如 qb_cms_content 这里是省略 qb_cms_ 的 不要搞错了
];
~~~
未完待续!!!看我一步一步重新做一个cms 简单到你怀疑人生
- 序言
- 声明
- 齐博X1基础
- 齐博X1的诞生
- 齐博X1目录结构
- 如何安装齐博X1
- 新手快速入门教程
- 常用文件目录说明
- 齐博X1标签
- 什么是标签
- 当前URL标签
- 图片标签
- 单张图片标签的使用
- 多张组图的标签调用
- 标签进阶之幻灯片制作
- 背景图如何设置标签
- 内容页标签
- 内容页中下一页上一页的标签
- 内容评论标签的风格制作
- 标签实例
- 做模板组图单图无图混排的处理
- 列表页制作及无滚动加载内容
- 调用多个圈子同时调用贴子
- 调用多个圈子同时调用相关会员
- 标签的嵌套用法,调用聚合数据
- 标签如何调用论坛内容
- 标签设置取组图不存在就取内容中的图片
- 标签之无刷新显示更多
- 异步加载标签数据
- 标签动态调用数据
- 文本代码标签的使用
- where 标签动态变量查询
- where 实现条件筛选与数据关联
- 会员中心如何加标签
- 模板中常用的TP标签数据处理
- 同一个标签要更换不同模块的数据
- 万能数据统计之fun函数
- 齐博X1模块
- 什么是模块?模块的组成。
- 如何添加字段
- 栏目名称的调用
- 栏目名称调用详解
- 相关栏目名称的调用
- 辅栏目(专题)的使用说明
- 模块后期要加参数的方法
- 表单自动生成器
- 简单的模块制作说明(随风编写)
- 齐博X1插件
- 插件.七牛云.配置说明
- 齐博X1钩子
- 钩子简单制作-tag加连接解说版(随风编写)
- 齐博X1模板
- 模板目录文件说明
- 几个关键模板文件要熟知
- 新模板要注意问题
- 模板文件调用的优先级
- 2018.8.13模板制作升级调整
- block模板的分块替换
- 模板包含文件使用说明
- 圈子黄页风格制作说明
- 齐博X1配置
- 微信和小程序的配置
- 如何对接公众号
- 对接小程序设置
- 在线支付接口的使用
- 支付宝对接收款配置
- 阿里云短信配置
- 邮箱接口设置
- 邮箱接口设置之QQ普通邮箱
- 邮箱接口设置之163普通邮箱
- 邮箱接口设置之QQ企业邮箱
- QQ登录接口配置
- 齐博X1路由
- URL伪静态设置
- route.php与routemy.php短网址设置
- 齐博X1二次开发
- 二次开发的灵魂fun函数
- 商城判断是否购买过
- 如何调取当前模块ID
- 模块安装文件讲解
- 表单快速启用城市地区功能
- 自定义字段多文件多图的显示处理
- 后台网站参数配置修改与添加
- 频道插件如何对接圈子
- 自定义字段下拉菜单关联其它数据表
- 自定义字段表单默认调用会员资料
- 齐博X1注意事项
- 云市场注意事项
- 如何强制进后台
- 换服务器如何转移网站
- 再强调严禁用记事本改任何文件
- 解决Web部署 svg/woff/woff2字体 404错误
- 齐博X1更新记录
- 关于thinkphp5