米拓官方应用文档http://doc.metinfo.cn/yingyong/#doc_2.4
1.注册应用,应用必须先在met_applist表中进行注册
注册 应用m_name跟 m_class 以及
目录结构如下
新建一个查询表
CREATE TABLE `met_renzheng` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bianhao` varchar(125) DEFAULT NULL COMMENT '编号',
`code` varchar(100) DEFAULT NULL COMMENT '验证码',
`img_url` varchar(255) DEFAULT NULL COMMENT '图片链接',
`isdel` int(1) NOT NULL DEFAULT '1' COMMENT '是否删除,0删除,1正常',
`add_time` datetime DEFAULT NULL COMMENT '添加时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=utf8
分前后台index.class.php
<?php
defined('IN_MET') or exit('No permission');
load::sys_class('app');
//接口初始化
class index extends app {
public $database;
public function __construct() {
global $_M;
parent::__construct();
$this->database = load::mod_class('about/about_database', 'new');
}
public function doindex() {
global $_M;
require $this->show('app/mylist');
}
public function doaddlist() {
global $_M;
require $this->show('app/add');
}
/*编辑*/
function doeditor() {
global $_M;
$query = "select * from {$_M['table']['renzheng']} where id='{$_M['form']['id']}'";
$list = DB::get_one($query);
$list['img_url']=str_replace(',','|',$list['img_url']);
require $this->template('own/edit');
}
public function dotable_list_json() {
global $_M;
$hasapp = DB::get_all("SELECT * FROM {$_M['table']['renzheng']}");
foreach($hasapp as $key=>$value){
$img_data=explode(',', $value['img_url']);
$img='';
if(is_array($img_data)){
foreach($img_data as $val_img){
$img.= "<img class=\"\" style=\"float:left\" src=\"{$val_img}\" width=\"80\">";
}
}
$list=array(
'id'=>$value['id'],
'bianhao'=>$value['bianhao'],
'code'=>$value['code'],
'imgurl'=>"<div class=\"form-group\">$img</div>",
'img_url'=>$value['img_url'],
'add_time'=>$value['add_time'],
'caozuo'=>"<a href=\"{$_M[url][own_form]}a=doeditor&id={$value['id']}\" class=\"edit\">{$_M[word][editor]}</a><span class=\"line\">-</span><a href=\"{$_M[url][own_form]}a=dochange&submit_type=del&&id={$value['id']}\" data-toggle=\"popover\" class=\"delet\">{$_M[word][delete]}</a>
",
);
$rarray[]=$list;
}
$this->table = load::sys_class('tabledata', 'new');
$this->table->rarray['draw'] = 1; //回传执行次数
$this->table->rarray['recordsTotal'] = 3; //回传总数量
$this->table->rarray['recordsFiltered'] = 3; //回传筛选过的总数量,暂无作用,但必须回传
$this->table->rdata($rarray);
}
function dochange(){
global $_M;
switch($_M['form']['submit_type']){
case 'edit':
$img_url=str_replace('|',',',$_M['form']['imgurl']);
$bool=DB::query("UPDATE {$_M['table']['renzheng']} SET bianhao='{$_M['form']['bianhao']}',code='{$_M['form']['vcode']}',img_url='{$img_url}' WHERE id='{$_M['form']['id']}'");
break;
case 'del':
$bool= DB::query("DELETE FROM {$_M['table']['renzheng']} WHERE id = '{$_M['form']['id']}'");
break;
case 'save':
$dtime=date('Y-m-d H:i:s');
$bool= DB::query("INSERT INTO {$_M['table']['renzheng']} VALUES ('',{$_M['form']['bianhao']},{$_M['form']['vcode']},'{$_M['form']['file']}','1',{$dtime})");
break;
}
if($bool){
turnover("{$_M[url][own_form]}a=doindex",'yes');
}else{
turnover("{$_M[url][own_form]}a=doindex",'shibai');
}
}
}
?>
mylist.php
<?php
defined('IN_MET') or exit('No permission');
$met_title='测试应用后台';
?>
<include file='sys_admin/head_v2'/>
<form method="POST" action="{$url.own_form}a=dosave" enctype="multipart/form-data">
<div class="clearfix m-t-10">
<!-- 添加 -->
<a class="btn btn-danger" href="{$url.own_form}a=doaddlist" role="button">添加</a>
<!-- 搜索 -->
<div class="input-search input-search-dark pull-xs-right">
<i class="input-search-icon wb-search" aria-hidden="true"></i>
<input type="text" name="search" placeholder="Search..." class="form-control" data-table-search>
<button type="button" class="input-search-close icon wb-close" aria-label="Close"></button>
</div>
</div>
<table class="dataTable table table-bordered table-hover table-striped w-full m-t-10" id="test-table" data-table-ajaxurl="{$url.own_form}a=dotable_list_json" data-table-pagelength='20' data-plugin="selectable">
<thead>
<tr>
<th width="50" data-table-columnclass="text-xs-center">
</th>
<th width="200" data-table-columnclass="text-xs-center">序列号</th>
<th width="200" data-table-columnclass="text-xs-center">验证码</th>
<th width="250" data-table-columnclass="text-xs-center">图片</th>
<th width="250" data-table-columnclass="text-xs-center">添加时间</th>
<th>操作</th>
</tr>
</thead>
<tfoot>
<tr>
<th>
<span class="checkbox-custom checkbox-primary">
<input class="selectable-all" type="checkbox">
<label></label>
</span>
</th>
<th colspan="5" data-no_column_defs>
<button type="submit" class='btn btn-primary'>保存</button>
<button type="button" class="btn btn-default" table-delet data-plugin="alertify" data-type='confirm' data-label-ok='确定' data-label-cancel='取消' data-confirm-title='确定删除?'>删除</button>
<!-- <button type="button" class="btn btn-success" table-addlist data-url='{$url.own_form}a=do_table_add_list' data-nocancel>添加</button>-->
</th>
</tr>
</tfoot>
</table>
</form>
<include file='sys_admin/foot_v2'/>
edit.php
<!--<?php
defined('IN_MET') or exit('No permission');//保持入口文件,每个应用模板都要添加
require_once $this->template('ui/head');//引用头部UI文件
echo <<<EOT
-->
<form method="POST" action="{$_M[url][own_form]}a=dochange&submit_type=edit" class='test-form' enctype="multipart/form-data">
<div class="metadmin-fmbx">
<input type="hidden" name='id' value="{$_M['form']['id']}" />
<div class='alert dark alert-primary radius0'>编辑产品</div>
<dl>
<dt><label class='form-control-label'>请输入编号</label></dt>
<dd>
<div class='form-group clearfix'>
<input type="text" name="bianhao" class="form-control" value="{$list['bianhao']}" placeholder="编号不能为空" required data-fv-notEmpty-message='不能为空'>
</div>
</dd>
</dl>
<dl>
<dt><label class='form-control-label'>请输入验证码</label></dt>
<dd>
<div class='form-group clearfix'>
<input type="text" name="vcode" value="{$list['code']}" class="form-control" placeholder="验证码不能为空" data-fv-stringLength="true" data-fv-stringLength-min="6" data-fv-stringLength-max="16" data-fv-stringlength-message="请输入最少8个,最多16个字符">
</div>
</dd>
</dl>
<dl>
<dt><em class="required">*</em></dt>
<dd class="ftype_upload">
<div class="fbox">
<input
name="imgurl"
type="text"
data-upload-type="doupimg"
data-upload-many="1"
value="{$list[img_url]}"
/>
</div>
<span class="tips"></span>
</dd>
</dl>
<dl>
<dt></dt>
<dd>
<button type="submit" class='btn btn-primary'>保存</button>
</dd>
</dl>
</div>
</form>
<!--
EOT;
require_once $this->template('ui/foot');//引用底部UI文件
?>
add.php
<?php
# MetInfo Enterprise Content Management System
# Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved.
defined('IN_MET') or exit('No permission');
$met_title='添加产品';
?>
<include file='sys_admin/head_v2'/>
<form method="POST" action="{$url.own_form}a=dochange&&submit_type=save" class='test-form' enctype="multipart/form-data">
<div class="metadmin-fmbx">
<div class='alert dark alert-primary radius0'>添加产品</div>
<dl>
<dt><label class='form-control-label'>请输入编号</label></dt>
<dd>
<div class='form-group clearfix'>
<input type="text" name="bianhao" class="form-control" value="<?php echo $list['bianhao']; ?>" placeholder="编号不能为空" required data-fv-notEmpty-message='不能为空'>
</div>
</dd>
</dl>
<dl>
<dt><label class='form-control-label'>请输入验证码</label></dt>
<dd>
<div class='form-group clearfix'>
<input type="text" name="vcode" value="<?php echo $list['code']; ?>" class="form-control" placeholder="验证码不能为空" data-fv-stringLength="true" data-fv-stringLength-min="6" data-fv-stringLength-max="16" data-fv-stringlength-message="请输入最少8个,最多16个字符">
</div>
</dd>
</dl>
<dl>
<dt><label class='form-control-label'>上传组件</label></dt>
<dd>
<div class='form-group'>
<div class="inline-block">
<input type="file" name="file" value="" data-plugin='fileinput' multiple accept="image/*">
</div>
</div>
</dd>
</dl>
<dl>
<dt></dt>
<dd>
<button type="submit" class='btn btn-primary'>保存</button>
</dd>
</dl>
</div>
</form>
<include file='sys_admin/foot_v2'/>
own.js
$(function(){ if(typeof datatable_option =='undefined') datatable_option=[]; // datatable表格返回数据的处理 var datatable_index=$('#test-table').index('.dataTable'); datatable_option[datatable_index]=[]; datatable_option[datatable_index]['dataSrc']=function(result){ var data=[]; //重新处理result.data,result.data为表格数据 $.each(result.data, function(i, val) { data[i]=[]; data[i].push('<span class=" checkbox-primary">'+val.id+'</span>'); data[i].push('<div class="form-group">'+val.bianhao+'</div>'); data[i].push('<div class="form-group">'+val.code+'</div>'); data[i].push(val.imgurl); data[i].push('<div class="form-group">'+val.add_time+'</div>'); data[i].push('<div class="form-group">'+val.caozuo+'</div>' ); }); return data; } var form_index=$('.test-form').index('form'); setTimeout(function(){ validate[form_index].success(function(e,form){ },false); },1000) });
至此一个简单的增删改差应用做好了