sdcms php版手册,目录结构及说明
## 基本结构
> 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版手册,目录结构及说明相关推荐
- 微擎 php开发手册,目录结构
# 目录结构 所有开发者模块均置于 **addons** 目录下 ||结构 ``` pro ├─ addons ---------------- [模块安装目录] (意为附加组件) │ ├─ busi ...
- sdcms php版手册,sdcms常用手册汇总
一.sdcms模板语法规则 1.变量表示(或常量) {name}将被解析成,表示显示变量name的值,其中的"name"由英文字母.数字和下划线组成首字母必须是英文字母或者下划线. ...
- linux 文件系统路径,Linux编程 1 (文件系统路径说明, 目录结构说明)
一. Linux文件系统路径说明 熟悉windows系统的,都知道文件路径表示,如C:\User\rich\Documnets\test.doc. 在linux中目录称为虚拟目录(virtual di ...
- [填坑手册]小程序目录结构和组件化使用心得
小程序目录结构 关于小程序的目录结构,可以说一开始大家都有各自的开发习惯和命名规则,但一旦项目变得复杂庞大的时候,你就发现管理起来和后期维护变得很麻烦,如果是 协同开发 的话,更容易出现 " ...
- 2、Linux的常见发行版、开源协议、目录结构及哲学思想
2.Linux的常见发行版.开源协议.目录结构及哲学思想 Linux的常见发行版: 开源协议: linux目录结构以及各目录下存放的文件: Linux的哲学思想: Linux的常见发行版: 1.Red ...
- CentOS目录结构超详细版
最近初学Linux 对linux的目录产生了很多疑问,看到这篇文章,让我顿时对目录有了一个清晰的认识!推荐给大家! ------------------------------------------ ...
- 基于easyui开发Web版Activiti流程定制器详解(一)——目录结构
题外话(可略过): 前一段时间(要是没记错的话应该是3个月以前)发布了一个更新版本,很多人说没有文档看着比较困难,所以打算拿点时间出来详细给大家讲解一下,由于本人平时要工作还要陪老婆和孩子而且还 ...
- centOS目录结构详细版
linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中 /bin:/usr/bin: 可执行二进制文件 ...
- 【转】基于easyui开发Web版Activiti流程定制器详解(一)——目录结构
题外话(可略过): 前一段时间(要是没记错的话应该是3个月以前)发布了一个更新版本,很多人说没有文档看着比较困难,所以打算拿点时间出来详细给大家讲解一下,由于本人平时要工作还要陪老婆和孩子而且还经营着 ...
最新文章
- vue 递归组件多级_Vue递归组件实现树形结构菜单
- go 多线程并发 queue demo
- ie不支持max-height的解决之法
- 前端学习(2161):vuecli项目得目录结构解析
- 64岁Python之父:我不退休了,我要去微软
- 一步一步手绘Spring AOP运行时序图(Spring AOP 源码分析)
- Python调用QQ截图工具
- JavaScript 重定向
- 10个超实用的微信小程序 | 值得推荐的微信小程序
- 计算机cpu在哪,cpu什么意思啊_电脑cpu哪里看
- 你知道各调的特点吗?
- WPS如何实现整行数据行间随机排序
- 【安卓培训 App培训】自动释放内存!Android图片库Fresco
- 求ax^2+bx+c=0(ao)根的c语言程序,【C语言】求方程ax^2+bx+c=0的根
- 无线密码忘记了,怎么找回?
- Minitab随机数生成办法
- 路由器重温——POS接口配置管理——SDH
- 每个Windows用户都应该知道的10个命令提示符技巧
- 云翌通信联合方位、鼎信在杭州、北京的产品交流会圆满结束
- 共享软件大敌 简析十大破解工具