ThinkPHP 静态资源,公共模板引用方法

本文介绍了如何在ThinkPHP项目中引入静态资源,包括通过模板标签引入公共模板的方法及配置静态资源路径的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ThinkPHP 静态资源引入

ThinkPHP 项目中静态资源一般放置在项目root目录下的Public文件夹下:

2836699-7962fad5d39f0cd3.png
项目目录结构

在 template文件夹中放置的是一些静态资源,包含js,css,fronts,img.
一般情况下比如说网站首页,网站后台,都是采用引入公共模板的方式,传统的方式是采用frame,现在基本上是将Index页面进行拆分,确定不变的部分并拆分成为独立的公共模板,比如header,slider,footer等。

1<include file="模板表达式,绝对路径"/> 引入公共模板

在ThinkPHP项目当中,我们采用<include file=""/>标签将公共模板引入进去。
file 属性的内容可以是:'模板表达式/相对路径/绝对路径'' 三种。
<1.但是使用模板表达式需要符合ThinkPHP规范 :一般是view/Index(控制器)/header(操作名).html ,在这种情况下,我们采用 :<include file="Public:header"/>就可以将文件引入,假如现在的文件组织方式是:view/Index(控制器)/xxx/header(操作名).html ,那么引入方式为<include file="Public:xxx:header">。
<2.使用绝对路径:默认情况下我们在index.html 可以通过<include file="./Public/common/header.html">将公共头文件引入进去。因为./表示在根目录下,这种引入方式是在项目根目录下Public文件夹中存在项目需要的静态资源时,可以起效。

2 公共静态资源,js,css,引入

这个我们可以在项目每个模块中的common文件夹中设置config.php 添加'TMPL_PARSE_STRING':比如Admin模块中的config.php设置如下:

2836699-99ae0831e789eee0.png
需要设置静态资源路径的配置文件

设置如下图所示:

2836699-50a302900bf4e2a6.png
静态资源文件路径配置

代码如下:

'TMPL_PARSE_STRING'=>array( 
   '__CSS__' => __ROOT__.'/Public/template/assets/css', 
   '__JS__' => __ROOT__.'/Public/template/assets/js',  
  '__IMG__' => __ROOT__.'/Public/template/assets/img',  
  '__FRONTS__' => __ROOT__.'/Public/template/assets/front'

可以直接复制。
这些css,js 静态文件是被header,footer.html文件所需要的,header中引入项目所需要的css,footer中引入项目所需要的js文件。

2836699-61baf8643e34805a.png
静态资源引入方式

完。

博客搬家:大坤的个人博客
欢迎评论哦~

<think>我们正在处理用户在ThinkPHP5框架中引入公共头部模板文件的问题。根据提供的引用信息,特别是引用[2]和引用[3]中关于ThinkPHP5和6模板包含方法,我们可以指导用户如何在ThinkPHP5中实现这一需求。 在ThinkPHP5中,可以使用`include`标签来引入公共模板文件。具体步骤如下: 1. 将公共头部模板文件(例如`header.html`)放置在视图目录下的一个公共目录中,比如`application/index/view/common/header.html`(这里假设是index模块)。 2. 在需要引入头部的模板文件中,使用`{include file='模板文件路径'}`标签来包含头部文件。 注意:在ThinkPHP5中,模板文件路径的写法可以是相对于当前模块的view目录,也可以使用绝对路径(从view目录开始)。 例如,如果头部文件位于`view/common/header.html`,则在模板文件中可以这样写: ```html {include file='common/header'} ``` 或者使用完整路径(如果不在同一个模块下,可能需要指定模块): ```html {include file='@index/common/header'} <!-- 假设在index模块下 --> ``` 另外,根据引用[4]中的经验,避免将公共模板文件放在静态资源目录(如static)中,而应该放在视图目录下,以免出现问题。 因此,针对用户的问题,我们可以这样回答: 在ThinkPHP5框架中,在HTML页面(视图模板)中引入公共头部模板文件,可以使用`include`标签。首先确保你的公共头部文件(如`header.html`)位于正确的视图目录下(例如`application/index/view/common/header.html`),然后在需要引入模板文件中使用以下代码: ```html {include file='common/header'} ``` 这样,公共头部文件的内容就会被包含到当前模板中。 注意:如果公共头部文件位于其他模块的视图目录下,可以使用`@模块名`来指定,例如: ```html {include file='@admin/common/header'} <!-- 引入admin模块下的公共头部 --> ``` 请确保路径的正确性。 相关问题: 1. 在ThinkPHP5中如何引入公共底部模板文件? 2. ThinkPHP5的模板包含与ThinkPHP6有什么区别? 3. 如何在ThinkPHP5的模板中传递变量到包含的模板文件中?</think>在 ThinkPHP5 框架中引入公共头部模板文件,可以通过以下步骤实现: ### 实现步骤 1. **创建公共模板文件** 在视图目录(通常是 `application/index/view/`)下创建 `common` 目录,并新建 `header.html` 文件: ```html <!-- application/index/view/common/header.html --> <header> <h1>网站标题</h1> <nav>导航菜单...</nav> </header> ``` 2. **在页面中引入头部** 在需要公共头部的模板文件中使用 `{include}` 标签: ```html <!-- application/index/view/index/index.html --> <!DOCTYPE html> <html> <head> <title>页面标题</title> </head> <body> {include file="common/header"} <!-- 引入公共头部 --> <main>页面主体内容...</main> {include file="common/footer"} <!-- 引入公共底部 --> </body> </html> ``` ### 关键说明 1. **路径规则**: - 直接写子目录名(如 `common/header`) - 无需写完整路径或扩展名 - 支持多级目录:`{include file="public/header"}` 2. **注意事项**: ```html <!-- 正确写法 --> {include file="common/header"} <!-- 错误写法(不要加引号或扩展名) --> {include file="'common/header.html'"} <!-- 会导致解析失败 --> ``` 3. **跨模块引入**(需指定模块名): ```html {include file="admin@common/header"} <!-- 引入admin模块的头部 --> ``` ### 底层原理 ThinkPHP模板引擎会在渲染时自动将 `{include}` 标签替换为对应模板文件的内容,实现代码复用。所有包含的模板共享当前模板的变量环境[^2][^3]。 --- ### 相关问题 1. 如何在 ThinkPHP5 的公共模板中传递动态数据? 2. ThinkPHP5 的模板包含与模板继承(`{layout}`)有什么区别? 3. 如何解决模板包含路径错误导致的文件找不到问题? 4. 在公共头部中如何根据不同页面高亮当前导航菜单? [^1]: Thinkphp6 模板文件如何引入公共头部底部文件? [^2]: ThinkPHP 5.0 实现头部和尾部公共模板 [^3]: ThinkPHP 6.1 模板篇之文件加载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值