在FastAdmin中可以在任何位置(控制器、视图、JS)使用__(\'语言标识\');调用语言包,如果语言标识不存在,则直接输出该语言标识
__(\'This is %s,base on %s\', \'FastAdmin\', \'ThinkPHP5\');
则会返回
This is FastAdmin,base on ThinkPHP5
而采用lang的写法则是
lang(\'This is %s,base on %s\', [\'FastAdmin\', \'ThinkPHP5\']);
因此如果要使第三个参数$lang生效,则只能将第二个参数传为数组或采用ThinkPHP中的lang函数
如果我们请求的路径是
https://demo.fastadmin.net/admin/general/config/index
则FastAdmin会自动加载
application/admin/lang/zh-cn.php全局语言包
application/admin/lang/zh-cn/general/Config.php
如果我们需要跨模块引入其它模块的语言包,则可以在 控制器中使用loadlang方法来引入,如
$this->loadlang(\'模块名\');
如果需要在JS中跨模块引入语言包,则需要修改Ajax.php中的lang这个方法
如果你不希望启用多语言,则可以在application/config.php中关闭和设置默认语言
数据限制
protected $dataLimit = \'auth\'; //默认基类中为false,表示不启用,可额外使用auth和personal两个值
protected $dataLimitField = \'admin_id\'; //数据关联字段,当前控制器对应的模型表中必须存在该字段
$dataLimit = false; //表示不启用,显示所有数据
$dataLimit = \'auth\'; //表示显示当前自己和所有子级管理员的所有数据
$dataLimit = \'personal\'; //表示仅显示当前自己的数据
如果需要将原有的数据加入到FastAdmin后台管理权限控制当中,比如已有的数据已经有标识归属,但这个归属体系并非是FastAdmin的后台管理员体系。在这个时候我们就需要重写基类的getDataLimitAdminIds方法,将此方法返回数据标识的归属ID数组集合,这样即可使用FastAdmin的后台管理权限进行管理。
在FastAdmin中默认的add/edit方法可以使用模型验证,验证器位于application/admin/validate/模型名.php中,模型验证默认是关闭的状态,如果需要启用,我们需要在当前控制器定义以下属性
protected $modelValidate = true; //是否开启Validate验证,默认是false关闭状态
protected $modelSceneValidate = true; //是否开启模型场景验证,默认是false关闭状态
权限控制
protected $noNeedLogin = []; //无需登录的方法,同时也就不需要鉴权了
protected $noNeedRight = []; //无需鉴权的方法,但需要登录
视图渲染
基类app\common\controller\Backend会默认渲染以下几个对象到视图中
//渲染站点配置
$this->assign(\'site\', $site);
//渲染配置信息
$this->assign(\'config\', $config);
//渲染权限对象
$this->assign(\'auth\', $this->auth);
//渲染管理员对象
$this->assign(\'admin\', Session::get(\'admin\'));
我们可以在视图中使用{$site.name}、{$config.modulename}、{$auth.id}、{$admin.username}来获取我们所需要的数据
如果我们需要在JS中使用以上数据,则使用
Config.site.name
Config.modulename
来获取相关的配置信息
如果我们需要自己在控制器中透传数据到JS中去,则可以使用控制器的assignconfig方法来透传,使用如下
$this->assignconfig(\'demo\', [\'name\'=>\'名称\']);
然后我们就可以在JS中使用
Config.demo.name
来获取对应的数据
$this->view->engine->layout(false); 来关闭当前方法的模板布局
如果我们需要使用自己的模板布局,在当前控制器定义protected $layout = \'布局模板\';即可。
请注意如果采用了自己的模板布局或禁用了模板布局,将无法使用FastAdmin的JS按需加载和Config变量访问
urlArgs:RequireJS获取资源时附加在URL后面的额外的query参数。
RequireJS支持从CommonJS包结构中加载模块,但需要一些额外的配置。
package config可为特定的包指定下述属性:
1. name : 包名(用于模块名/前缀映射)。
2. location : 磁盘上的位置。位置是相对于配置中的baseUrl值,除非它们包含协议或以“/”开头。
3. main : 当以“包名”发起require调用后,所应用的一个包内的模块。
默认为“main”,除非在此处做了另外设定。
该值是相对于包目录的。
requirejs.s.contexts._.config.xx.xx.xx 这个是直接把requirejs的对象暴露出来 !!!主要是配置文件信息的读取!