当前位置: 首页 > news >正文

Thinkphp 6.0模版的加载包含输出

本节课我们来学习一下模版标签中的文件的包含、输出以及加载。


一.包含文件


1. 使用{include}标签来加载公用重复的文件,比如头部、尾部和导航部分;
2. 在模版 view 目录创建一个 public 公共目录,分别创建 header、footer 和 nav;
3. 然后创建 Block 控制器,引入控制器模版 index,这个模版包含三个公用文件;

{include file='public/header,public/nav'/}


4. 也可以包含一个文件的完整路径,包括后缀,如下:

{include file="../view/public/nav.html"/}


5. 模版的标题和关键字,可以通过固定的语法进行传递;
6. 对于标题,在控制器先设置一下标题变量,然后设置{include}设置属性;

{include file='public/header' title='$title' keywords='关键字'/}


7. 切换到 public/header.html 模版页面,使用[xxx]的方式调用数据;
 

<title>[title]</title>
<meta name="keywords" content="[keywords]" />


二.输出替换


1. 有时,我们需要调用一些静态文件,比如 css/js 等;
2. 那么,直接写完整路径,比较繁长,可以把这些路径整理打包;
3. 在目前二级目录下,view.php 中,配置新增一个参数;

// 模版替换输出
'tpl_replace_string' => [
'__JS__' => '../static/js',
'__CSS__' => '../static/css',
]


4. html 文件调用端,直接通过__CSS__(__JS__)配置的魔术方法调用即可;

<link rel="stylesheet" type="text/css" href="__CSS__/basic.css">
<script type="text/javascript" src="__JS__/basic.js"></script>


5. 在测试的时候,由于是更改的配置文件刷新,每次都要删除编译文件才能生效;


三.文件加载


1. 传统方式调用 CSS 或 JS 文件时,采用 link 和 script 标签实现;
2. 系统提供了更加智能的加载方式,方便加载 CSS 和 JS 等文件;
3. 使用{load}标签和 href 属性来链接,不需要设置任何其它参数;

{load href='__CSS__/basic.css'/}
{load href='__JS__/basic.js'/}


2. 也支持 href 多属性值的写法,如下:

{load href='__CSS__/basic.css, __JS__/basic.js'}


3. {load}还提供了两个别名{js}、{css}来更好的实现可读性;

{js href='__JS__/basic.js'}
{css href='__CSS__/basic.css'}


4. {js}和{css}只是别名而已,识别.js 还是.css 是根据后缀的;

http://www.lryc.cn/news/56205.html

相关文章:

  • ROS实践11 自定义头文件并调用
  • 一位年薪35W的测试被开除,回怼的一番话,令人沉思
  • 【Docker】Docker常用命令
  • 【linux基础】7.linux系统自定义应用名和应用图标
  • 10.网络爬虫—MongoDB详讲与实战
  • C4D -> Three.js资产制作与导入流程
  • 【博学谷学习记录】大数据课程-学习十三周总结
  • Spring Cloud快速入门
  • 论文学习——VideoGPT
  • Flutter系列(五)底部导航详解
  • 『pyqt5 从0基础开始项目实战』02. 页面布局设计(保姆级图文)
  • 【Python机器学习】——平均中位数模式
  • Windows窗口
  • Spring Transaction 源码解读
  • [Netty] Channel和ChannelFuture和ChannelFutureListener (六)
  • 条件渲染
  • springboot(10)异步任务
  • 清华大学开源的chatGLM-6B部署实战
  • 通过矩阵从整体角度搞懂快速傅里叶变换原理
  • 【C++从0到1】25、C++中嵌套使用循环
  • FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问
  • 密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021
  • Matlab与ROS(1/2)---服务端和客户端数据通信(五)
  • 数字化转型的避坑指南:细说数字化转型十二大坑
  • pt05Encapsulationinherit
  • 面向对象编程(基础)9:封装性(encapsulation)
  • fate-serving-server增加取数逻辑并源码编译
  • 循环队列、双端队列 C和C++
  • 正则表达式(语法+例子)
  • Properties和IO流集合的方法