fastadmin视图渲染

news2025/2/25 0:42:26

基类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}来获取我们所需要的数据

$site所支持的数据对应为application/extra/site.php
$config所支持的数据为
'site'           => $site中的'name', 'cdnurl', 'version', 'timezone', 'languages'字段,
'upload'         => application/extra/upload.php中数据,
'modulename'     => 'admin',
'controllername' => 控制器名,
'actionname'     => 方法名,
'jsname'         => 控制器JS所加载的路径,
'moduleurl'      => 后台module的链接,
'language'       => 当前语言,
'fastadmin'      => application/config.php中fastadmin的配置
$auth是一个对象,所对应的类是application/admin/library/Auth.php
$admin是一个当前管理员登录的session数据,存储有管理员的用户名、昵称、ID、头像等信息

如果我们需要在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变量访问。

温馨提示

FastAdmin\app\common\controller\Api\app\common\controller\Frontend基类控制器有启用全局过滤,过滤方法为trim,strip_tags,htmlspecialchars,当使用ThinkPHP5的方法获取请求的参数值时,会被过滤HTML和特殊字符,如有特殊情况下需要不过滤(如获取小程序请求的encryptedData),可以使用$this->request->post("参数名", "默认值", null);将第三个参数设置为null即可获取原生请求的数据,特别注意当使用原生请求的数据时务必注意服务端的安全处理和安全输出。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGISPro加载在线底图和影像

经常用ArcGIS都知道,在工作中配合在线地图有点多爽。无论是制图还是数据校核都非常方便。之前已经讲过如何在ArcGIS地图里利用simplegis插件加载多种在线地图,那换成pro咋办嘞 今天我们就来说说如何在ArcGIS Pro里加载在线地图 ArcGISPro本身就自带了两种影像,均是源自谷歌…

《Redis 核心技术与实战》课程学习笔记(八)

String 类型为什么不好用了? String 类型可以保存二进制字节流,只要把数据转成二进制字节数组,就可以保存了。String 类型并不是适用于所有场合的,它有一个明显的短板,就是它保存数据时所消耗的内存空间较多。 为什么…

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码Simulink实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

贪心算法、贪心搜索/采样(greedy search/sampling)、集束搜索(beam search)、随机采样(random sample)

首先需要了解贪心算法: 贪心算法,又名贪婪法,是寻找最优解问题的常用方法,这种方法模式一般将求解过程分成若干个步骤,但每个步骤都应用贪心原则,选取当前状态下最好/最优的选择(局部最有利的选…

Tenable Nessus 10.5.3 (Unix, Linux, Windows) - #1 漏洞评估解决方案

Tenable Nessus 10.5.3 (Unix, Linux, Windows) - #1 漏洞评估解决方案 发布 Nessus 试用版自动化安装程序,支持 macOS Ventura、RHEL 9 和 Ubuntu 22.04 请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版。原创作品&#xff…

开源堡垒机Guacamole二次开发记录之二

这篇主要记录录屏和SFTP的实现。 录屏及视频播放 对于录屏及录屏的播放,因为我们的项目中需要把guacd和java后端分开两台服务器部署,而guacamole的录屏是通过guacd程序录制的。我的要求是在Java后端直接把录好的视频文件通过http前端播放,因…

手机外壳缺陷视觉检测软硬件方案

单独使用一种光源效果图 同轴光会出现亮度不够的情况;回形面光因为光源中间的圆孔会使图像有阴影,造成图像效果不均衡,所以不采用单独光源打光 使用同轴回形面光源效果图 回形光源照亮产品要寻找的边缘,同轴光源起到补光的作用&a…

裁剪opencv库到2Mb

摘要:本文描述了如何对opencv进行裁剪已达到最小化,不限于使用模块编译,去除第三方库依赖,改变编译选项,限制导出符号等。   关键字:opencv、导出符号 opencv库大小优化的文章网络上很少,大部…

【C++ 学习 ⑩】- 详解 string 类(下):string 类的模拟实现和写时拷贝

目录 一、string 类的模拟实现 1.1 - string.h 1.2 - test.cpp 二、string 类的写时拷贝 2.1 - 示例 2.2 - 原理 一、string 类的模拟实现 1.1 - string.h #pragma once#include <assert.h> #include <string.h> #include <iostream>namespace yzz {…

mac版android studio设置字体避坑总结

1.整体主题字体设置: setting->Appearance & Behavior->Appearance->Theme: 设置主题 Use custom font:右边的数字是设置除了编辑代码去之外的字体大小 ,推荐使用AppleSystemUIFont 注意这个字体有个bug,就是如果用在终端横向会有空格: 2.设置终端字体: setting-…

PyTorch深度学习实战(5)——计算机视觉

PyTorch深度学习实战&#xff08;5&#xff09;——计算机视觉 0. 前言1. 图像表示2. 将图像转换为结构化数组2.1 灰度图像表示2.2 彩色图像表示 3 利用神经网络进行图像分析的优势小结系列链接 0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析&#xff0c;利…

云计算基础教程(第2版)笔记——基础篇与技术篇介绍

文章目录 前言 第一篇 基础篇 一 绪论 1.1 云计算的概念以及特征 1.1.1云计算的基本概念 1.1.2云计算的基本特征 1.2 云计算发展简史 1.3 三种业务模式介绍 1. 基础设施即服务&#xff08;IaaS&#xff09; 2. 平台即服务&#xff08;PaaS&#xff09; 3. 软…

TypeScript 学习笔记(二):接口

一、接口的定义 在面向对象的编程中&#xff0c;接口是一种规范的定义&#xff0c;它定义了行为和动作的规范&#xff0c;在程序设计里面&#xff0c;接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范&#xff0c;接口不关心这些类的内部状态数据&#xff0…

spring cloud 之 openFeign

Feign和openFeign Feign Fegin使java Http客户端更加方便简洁&#xff0c; Feign集成了Ribbon、RestTemplate实现了负载均衡的执行Http调用&#xff0c;只不过对原有的方式&#xff08;RibbonRestTemplate&#xff09;进行了封装&#xff0c;开发者不必手动使用RestTemplate调…

【Linux】- Vim 编辑器、开关机、和用户权限管理常用命令

Vim 编辑器、开关机、和用户权限管理常用命令 1.1&#x1f330;vi 和 vim 的基本介绍1.2&#x1f36e;vi 和 vim 常用的三种模式1.3&#x1f320;vim的基本使用2.1&#x1f365;开机、重启2.2&#x1f37c;用户登录注销3.1&#x1f600;用户管理&#xff08;crud&#xff09;3.…

【C++算法模板】快排、归并、二分

目录 快速排序 归并排序 二分算法 整数二分 浮点数二分模板 总结&#xff1a; 快速排序 //快速排序 void quick_sort(int q[], int l, int r) {if (l > r) return;//向下取整可能使得x取到q[l]int i l - 1, j r 1, x q[l r >> 1];while (i < j){do i; …

M芯片Mac实现安卓模拟器多开

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

Linux kernel内存初始化介绍

early_fixmap_init&#xff1a; dtb进行映射&#xff0c;通过设备树文件和membloc模块让内核了解更为广阔的内存世界。Uboot将dtb拷贝到内存中&#xff0c;且通过传递相关参数将dtb的物理地址告知内核。但是内核必须将dtb的相关物理地址映射到虚拟地址上&#xff0c;通过虚拟地…

基于springboot的城乡医疗卫生服务系统

摘 要 网络的广泛应用给生活带来了十分的便利。所以把城乡医疗卫生服务与现在网络相结合&#xff0c;利用java语言建设城乡医疗卫生服务系统&#xff0c;实现城乡医疗卫生服务系统的信息化。则对于进一步提高医院的发展&#xff0c;丰富城乡医疗卫生服务经验能起到不少的促进作…

ModaHub魔搭社区:向量数据库Zilliz Cloud集群、Collection 及 Entity教程

目录 集群 Collection 字段 Schema 索引 Entity Zilliz Cloud 集群由全托管 Milvus 实例及相关计算资源构成。您可以在 Zilliz Cloud 集群中创建 Collection,然后在 Collection 中插入 Entity。Zilliz Cloud 集群中的 Collection 类似于关系型数据库中的表。Collection …