fastadmin中自定義按鈕
阿新 • • 發佈:2019-02-17
fastadmin是基於thinkphp的後臺開發框架,由於是第一次用,很多東西都是盲人摸象啊,官方文件又少,所以記錄一下一些自己摸索了一些時間的操作
需求:用過的都知道,左邊的新增,編輯等按鈕是框架自動給我們生成好的,然後現在我想在這裡增加一個“設備註冊”的按鈕,該怎麼實現呢
由於這個按鈕是我們自己新增的,所以我們要給它寫一個事件
//設備註冊 $(document).on("click",".btn-register",function(){ Layer.open({ content: Template("register", {}), yes:function (index,layero) { Fast.api.ajax({ url: 'devicemanager/device_detail_manager/register', dataType: 'jsonp', data: {udid: $("#udid", layero).val(), _method: 'GET'} }, function (data, ret) { Layer.closeAll(); Layer.alert(ret.msg); }); } }); });
這裡的content就是點選之後會彈出一個視窗,Template是模板名字,這個等一會要在view層中寫的,這裡面的url就是controller層的定義的方法,還需要在這個js檔案最開始定義一下template這個變數
定義一個template,這裡的Config裡面是view層的資料夾名
define(['jquery', 'bootstrap', 'backend', 'table', 'form','template'], function ($, undefined, Backend, Table, Form,Template) {
Template.helper("Moment", Moment); Template.helper("addons", Config['device_detail_manager']); var table = $("#table");
然後我們進去到view層,新增一個id和上面的content對應的script,這樣你點選按鈕就會彈出你寫這個視窗
<script id="register" type="text/html"> <div> <form class="form-horizontal"> <fieldset> <div class="form-group"> <label for="inputAccount" class="col-lg-3 control-label">{:__('udid')}</label> <div class="col-lg-9"> <input type="text" class="form-control" id="udid" value="" placeholder="{:__('Your Register Udid')}"> </div> </div> </fieldset> </form> </div> </script>
最後呢去到model層,新增register這個方法,這樣就大功告成了
public function register($ids=NULL) {
$request = $this->request()->get();
if ($request) {
$udid = $request['udid'];
if ($this->model->registerUdid($udid)) {
$this->success();
} else {
$this->error();
}
}
}