chinlly

在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的对象暴露出来 !!!主要是配置文件信息的读取!

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
猜你喜欢
  • 2022-12-23
  • 2022-01-20
  • 2021-12-17
  • 2022-12-23
  • 2021-12-22
  • 2021-10-18
  • 2022-12-23
相关资源
相似解决方案