FastAdmin

注意食用姿势,建议先通读官方文档一次,在看

根据环境及配置的不同,仅作参考

修改mysql表注释
ALTER TABLE student COMMENT '学生表';

系统配置->邮件配置(测试发送成功)

注意在邮箱中开启

  POP3/SMTP服务

  IMAP/SMTP服务

  需PHP5.6版本,7以上版本不支持

SMTP用户名  ->  邮箱地址

SMTP密码   ->  在邮箱账户设置中生成的授权码

发件人邮箱     ->  属于当前邮箱的账号都可作为发件人邮箱

fastadmin设置首页直接跳转后台登录
$this->redirect('admin/index/login');

去除首页安全提示(隐藏admin登录入口)

在application的config.php中修改 deny_module_list 添加 admin 如下:

'deny_module_list'       => ['common','admin']

修改public中的admin.php文件名为 xxx.php(可以改为任意符合PHP命名规则的名称)

访问:www.yoursite.com/xxx.php 即可

如已配置前台自动跳转登录需将跳转方法改为:

$this->redirect('xxx.php/index/login');

{:xxx}

引用PHP函数

{:build_toolbar('refresh,add,delete')}

在application/common.php中,用于生成HTML页面

$this->assignconfig('demo', '传参到JS测试');

将数据透传到JS中,可直接在JS中使用

设置页面数据必填

在input标签中添加
data-rule="required"

requirejs

页面中的js统一由requorejs管理

视图、控制器、JS一一对应,

如:

application/admin/controller  /user/index  控制器对应

application/admin/view  /user/index  视图对应

public/assets/js/backend  /user/index  JS

var Orderdata = {
column: {:json_encode(array_keys($paylist))},
paydata: {:json_encode(array_values($paylist))},
createdata: {:json_encode(array_values($createlist))},
};
将页面中的数据放入对象,可在JS中使用

admin/view/user/user/index.html

{:build_toolbar('refresh,edit,del')}
用于控制页面图标显示
data-operate-edit="{:$auth->check('user/user/edit')}" 
控制表格操作显示
对应JS中
Table.api.init
初始化路由参数,删除后不可提交
extend-扩展类库
vendor-第三方类库
extra-扩展配置目录

框架只能加载首页时(域名后加上index.php也可以访问其他页面),在服务器添加伪静态,内容同下

去除PHP域名解析时的index.php
在文件入口处添加.htaccess文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

FastAdmin

开关中提示“未更新任何行”在相应控制器中添加

protected $multiFields = 'status,switch';

或在基类中添加switch

/**
* Multi方法可批量修改的字段
*/
protected $multiFields = 'status,switch';

依然无用则在相应控制器中覆盖

/**
* 批量操作
* @param string $ids
*/
public function multi($ids = "")
{
$params = $this->request->request('params');
parse_str($params, $paramsArr);
if (isset($paramsArr)) {
$field = \app\admin\model\Test3::get($ids);
$field->save($paramsArr);
$this->success('操作成功');
}
return parent::multi($ids);
}
 

_id

两种方式,一种系统配置,一种自己添加

一、系统配置(不需要修改页面代码,只添加数据即可)

  常规管理->系统配置->字典配置中添加分类类型

    类型与数据库表名对应(不要前缀)(键相同会覆盖值)

  在分类管理中添加分类

    类型与字典配置中的值一致

此时去对应的视图中即可获取到数据

二、手动设置读取的字段

data-source="category/selectpage"     对应的控制器
data-params='{"custom[type]":"test"}'  展示的值
name="row[category_ids]"          当前表单提交的对应字段

_id使用
需确认相应input属性data-source所对应的控制器,默认获取name字段的,可用data-field设置需要读取的字段信息

data-field="id" data-source="test/index"

全句如下:

<input id="c-test_id" data-rule="required" data-source="test/index" class="form-control selectpage" name="row[test_id]" type="text" value="">

外键关联查询

->with(['cart'=>function($query){
$query->withField('');
$query->where();
},
])

高级模式

public function index()
{
$this->relationSearch = true;
$this->searchFields = "id";
if ($this->request->isAjax()) {
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$total = $this->model
->with("cart")
->with(['cart'=>function($query){
$query->withField('');
$query->where();
},
])
->where($where)
->order($sort, $order)
->count();
$list = $this->model
->with("cart")
->where($where)
->order($sort, $order)
->limit($offset, $limit)
->select();
$result = array("total" => $total, "rows" => $list);
return json($result);
}
return $this->view->fetch();
}

enum和set类型生成对应的字段注释

创建字段后填写相应值
在字段注释中添加相应值的选项,如下
单选下拉:1=单选1,2=单选2,3=单选3,4=单选4,5=单选5

后台/admin

前台/controller
/view
模板基类/default/common/layout
首页/default/index
右侧推荐/default/common/sidebar
表单/default/diyform
单页/default/page
专题/default/special

首页index </aside>标签之上 删除的右侧栏
{include file="common/sidebar" /}

fastadmin框架信息
{$site.name}
如果是数组类型调用如下:
<?php print_r($site); ?>

CMS配置信息
{$config.sitename}
如果是数组类型调用如下:
<?php print_r($config); ?>

控制器——application\admin\controller\student\Student.php

模型层——application\admin\model\Srudent.php

视图层——application\admin\view\student\student

验证规则——application\admin\validate\Student.php

语言包——application\admin\lang\zh-cn\student\student.php

js文件——public\assets\js\backend\student\student.js

FastAdmin-T的更多相关文章

  1. Fastadmin安装以及各种问题解决

    FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架 https://www.fastadmin.net/ 参照官方文档安装,还是有坑的 首先注意:无需下载PHP.Th ...

  2. fastadmin模态框(弹出框)

    用法: 在html页面新建一个按钮用来触发事件 <a href="javascript:;" class="btn btn-success btn-add &quo ...

  3. 基于fastadmin快速搭建后台管理

    FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架:开发文档 下面对环境搭建简要概述,希望后来者能少走弯路: 1. 百度搜索最新版wampserver, 安装并启动 ...

  4. 了解fastadmin标准的控制器模块js的表格事件

    controller/A.php<-------------->public/assets/js/backend/a.js controller/b/A.php<---------- ...

  5. fastadmin默认的controller已实现的方法

    fastadmin控制器 <?php namespace app\admin\controller\peizi; use app\common\controller\Backend; /** * ...

  6. 一张图解析FastAdmin中的表格列表的功能

    大图: 1.默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以在后台修改,权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML 2.TAB过滤选项卡 在一键生成 ...

  7. fastAdmin进阶

    基本知识流程一栏链接 bootstrapTable fastadmin系统配置(符内置规则): fastadmin默认的controller已实现的方法 一张图解析fastadmin的表格: fast ...

  8. FastAdmin 基本知识流程一栏

      fastadmin进阶 安装:出现登陆页无法显示:可能是php的gd2扩展未开启 FastAdmin 在 Nginx 中的配置 用的是AdminLTE后台模板require.js.less.Bow ...

  9. FastAdmin 在 Nginx 中的配置

    FastAdmin 使用的是 ThinkPHP 5 框架. 在 Apache 下很简单,但是在 nginx 下就需要自行配置一下了. 在网上找了很多,都没有找到很好的. 刚刚在 QQ 里群里找到一个, ...

  10. FastAdmin 的上传代码在哪里?

    FastAdmin 的上传代码在哪里? FastAdmin 默认是通过 Ajax 上传到本地. 使用 admin/ajax/upload 方式返回 url. 代码文件地址在 application\a ...

随机推荐

  1. Js基础知识(五) - 前端性能优化总结

    前端性能优化总结 资源优化 缓存 最好的资源优化就是不加载资源.缓存也是最见效的优化手段.说实话,虽然说客户端缓存发生在浏览器端,但缓存主要还是服务端来控制,与我们前端关系并不是很大.但还是有必要了解 ...

  2. .ko文件

    ko文件介绍 .ko文件是kernel object文件(内核模块),该文件作用是把内核的部分功能移动到内核外边,需要的时候插入内核,不需要时卸载. 内核模块实现一些函数,作为回调函数注册到内核中.在 ...

  3. POI导出Excel不弹出保存提示_通过ajax异步请求(post)到后台通过POI导出Excel

    实现导出excel的思路是:前端通过ajax的post请求,到后台处理数据,然后把流文件响应到客户端,供客户端下载 文件下载方法如下: public static boolean downloadLo ...

  4. PHP下查询游戏《Minecraft》多人游戏 服务器的人数。

    废话不多说,直接上图: 作为一个优雅的Minecraft服务器,肯定需要官网的嗯. 很多服务器的官网都有显示当前服务器在线人数,延迟,每一个子服在线人数,甚至出了个流量图. 我们不搞花里胡哨的查询人数 ...

  5. php类知识 self $this都只能在当前类中使用

    $this是当前对象的指针,self是当前类的指针 $this只能用在成员方法中,不能存在于静态方法 self 静态方法和成员方法中都能使用 self可以访问类常量,静态属性,静态方法,成员方法--- ...

  6. Hadoop-No.5之压缩

    Hadoop存储数据时需要着重考虑的一个因素就是压缩.这里不仅要满足节省存储空间的需求,也要提升数据处理性能.在处理大量数据时,消耗最大的是磁盘和网络的I/O,所以减少需要读取或者写入磁盘的数据量就能 ...

  7. 题解 【NOIP2014】解方程

    题面 解析 这题的数据看起来似乎特别吓人... 但实际上, 这题非常好想. 只需要模一个大质数就行了(我模的是1e9+7)(实测有效) 另外,a要用快读读入,再一边模Mod(因为实在太大了). 然后, ...

  8. python在window下环境搭建

    1.Python安装包下载 地址:https://www.python.org/downloads/windows/ 然后找到对应系统版本的安装包 下载完成后,直接运行exe安装.在安装的时候开业勾选 ...

  9. 网络编程-UDP echo server

    1. UDP简介 UDP 和TCP 的区别包括 1. 面向字节流和面向报文 2. TCP必须要建立连接后才能进行数据交换,但是UDP则并没有连接的建立和释放过程.面向字节流说明,tcp报文段(segm ...

  10. Servlet中的请求转发RequestDispatcher接口的forword与Include的区别

    RequestDispatcher接口中具有两个方法: forward() 与 include() 均 可完成请求 的转发.区别如下: forword(): 使用该方法,则当前 的 Servlet 中 ...