## 基本结构

> controller(插件前后台应用类)

view(插件前后台应用模板)

_config.php(插件配置文件,此文件为插件不可缺少的文件,没有此文件,后台插件管理里没法看到此插件)

## _config.php代码说明

~~~

return [

'title' => '在线客服',

'author' => 'IT平民',

'url' => 'http://www.sdcms.cn',

'install'=> 'CREATE TABLE sd_plug_service (id int(10) NOT NULL AUTO_INCREMENT,title varchar(50) DEFAULT NULL,qq varchar(50) DEFAULT NULL,ordnum int(10) DEFAULT NULL,islock int(10) DEFAULT NULL,PRIMARY KEY (id))',

'delete'=> 'DROP TABLE sd_plug_service',

'admin'=>'1',

];

~~~

配置文件参数说明:

> title参数 是插件的名称

author参数 是插件的作者

url参数 是插件的网址

install参数 是安装插件时执行创建数据表的SQL语句等,多条语句使用@@@@间隔

delete参数 是卸载插件时执行的SQL语句,多条语句使用@@@@间隔

admin参数 是代表是否有后台管理,为1说明有后台管理,为0说明没有后台管理

## controller文件夹说明

默认插件中一般均含有下面2个文件

> indexcontroller.php (插件前台默认首页文件名,不可更改)

admincontroller.php (插件后台默认首页文件名,不可更改)

#### indexcontroller.php说明

~~~

class IndexController extends PlugController

{

public function __construct()

{

parent::__construct();

if(!C('plug_map'))

{

#首先检查插件是否安装,上面代码中的plug_map中的map即为插件所在文件夹的名称,如果没有安装,则禁止继续执行

die('插件未安装');

}

}

public function Index()

{

#这里是插件前端需要处理的一些业务逻辑

$rs=$this->db->row("select * from sd_plug_map where id=1 limit 1");

if($rs)

{

foreach($rs as $key=>$val)

{

$this->assign($key,$val);

}

if(ismobile())

{

$this->assign('width','100%');

}

$this->display("index.php");

}

}

}

~~~

#### admincontroller.php说明

~~~

class AdminController extends PlugController

{

public function __construct()

{

parent::__construct();

if(!C('plug_map'))

{

#首先检查插件是否安装,上面代码中的plug_map中的map即为插件所在文件夹的名称,如果没有安装,则禁止继续执行

die('插件未安装');

}

$this->check_admin();

}

public function Index()

{

if(IS_POST)

{

$arr=['state'=>'error','msg'=>'error'];

$d['point_x']=F('t0');

$d['point_y']=F('t1');

$d['mapkey']=F('t3');

$d['height']=getint(F('t4'),400);

if(isset($_POST['t2']))

{

$d['remark']=$_POST['t2'];

}

else

{

$d['remark']='';

}

$this->db->update('sd_plug_map','id=1',$d);

$arr['state']='success';

$arr['msg']='保存成功';

$this->add_log($arr['msg']);

echo json_encode($arr);

}

else

{

$rs=$this->db->row("select * from sd_plug_map where id=1 limit 1");

if($rs)

{

foreach($rs as $key=>$val)

{

$this->assign($key,$val);

}

$this->display("admin/index.php");

}

}

}

public function view()

{

#读取模板,模板路径相对于插件所在文件夹

$this->display("admin/view.php");

}

}

~~~

## view文件夹说明

view文件夹中存放前台与后台的模板文件,名称和路径可以自由定义。

sdcms php版手册,目录结构及说明相关推荐

  1. 微擎 php开发手册,目录结构

    # 目录结构 所有开发者模块均置于 **addons** 目录下 ||结构 ``` pro ├─ addons ---------------- [模块安装目录] (意为附加组件) │ ├─ busi ...

  2. sdcms php版手册,sdcms常用手册汇总

    一.sdcms模板语法规则 1.变量表示(或常量) {name}将被解析成,表示显示变量name的值,其中的"name"由英文字母.数字和下划线组成首字母必须是英文字母或者下划线. ...

  3. linux 文件系统路径,Linux编程 1 (文件系统路径说明, 目录结构说明)

    一. Linux文件系统路径说明 熟悉windows系统的,都知道文件路径表示,如C:\User\rich\Documnets\test.doc. 在linux中目录称为虚拟目录(virtual di ...

  4. [填坑手册]小程序目录结构和组件化使用心得

    小程序目录结构 关于小程序的目录结构,可以说一开始大家都有各自的开发习惯和命名规则,但一旦项目变得复杂庞大的时候,你就发现管理起来和后期维护变得很麻烦,如果是 协同开发 的话,更容易出现 " ...

  5. 2、Linux的常见发行版、开源协议、目录结构及哲学思想

    2.Linux的常见发行版.开源协议.目录结构及哲学思想 Linux的常见发行版: 开源协议: linux目录结构以及各目录下存放的文件: Linux的哲学思想: Linux的常见发行版: 1.Red ...

  6. CentOS目录结构超详细版

    最近初学Linux 对linux的目录产生了很多疑问,看到这篇文章,让我顿时对目录有了一个清晰的认识!推荐给大家! ------------------------------------------ ...

  7. 基于easyui开发Web版Activiti流程定制器详解(一)——目录结构

     题外话(可略过): 前一段时间(要是没记错的话应该是3个月以前)发布了一个更新版本,很多人说没有文档看着比较困难,所以打算拿点时间出来详细给大家讲解一下,由于本人平时要工作还要陪老婆和孩子而且还 ...

  8. centOS目录结构详细版

    linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中 /bin:/usr/bin: 可执行二进制文件 ...

  9. 【转】基于easyui开发Web版Activiti流程定制器详解(一)——目录结构

    题外话(可略过): 前一段时间(要是没记错的话应该是3个月以前)发布了一个更新版本,很多人说没有文档看着比较困难,所以打算拿点时间出来详细给大家讲解一下,由于本人平时要工作还要陪老婆和孩子而且还经营着 ...

最新文章

  1. vue 递归组件多级_Vue递归组件实现树形结构菜单
  2. go 多线程并发 queue demo
  3. ie不支持max-height的解决之法
  4. 前端学习(2161):vuecli项目得目录结构解析
  5. 64岁Python之父:我不退休了,我要去微软
  6. 一步一步手绘Spring AOP运行时序图(Spring AOP 源码分析)
  7. Python调用QQ截图工具
  8. JavaScript 重定向
  9. 10个超实用的微信小程序 | 值得推荐的微信小程序
  10. 计算机cpu在哪,cpu什么意思啊_电脑cpu哪里看
  11. 你知道各调的特点吗?
  12. WPS如何实现整行数据行间随机排序
  13. 【安卓培训 App培训】自动释放内存!Android图片库Fresco
  14. 求ax^2+bx+c=0(ao)根的c语言程序,【C语言】求方程ax^2+bx+c=0的根
  15. 无线密码忘记了,怎么找回?
  16. Minitab随机数生成办法
  17. 路由器重温——POS接口配置管理——SDH
  18. 每个Windows用户都应该知道的10个命令提示符技巧
  19. 云翌通信联合方位、鼎信在杭州、北京的产品交流会圆满结束
  20. 共享软件大敌 简析十大破解工具

热门文章

  1. 2021年电赛国赛B题三相AC_DC总结
  2. hbuilderx uniapp 【成功示例】windows真机调试iOS
  3. 我给同事配的实用型的家庭多媒体影院系统 -- 3.音响选择篇
  4. 用Python实现古诗词填字游戏(三)
  5. 上海周末python培训
  6. (转)你为什么不分享
  7. cesium-模型室内漫游
  8. 奥鹏教育大学计算机基础,奥鹏南开大学《大学计算机基础》20秋学期在线作业参考试题答案...
  9. 变压器绕组变形试验的重要性
  10. PX4 avoidance ROS仿真之——使用自定义的飞机模型