首页 > PHP > tp include 时,我犯了一件傻事
2014
08-01

tp include 时,我犯了一件傻事

使用模版文件

可以直接包含一个模版文件名(包含完整路径),例如:

<include file="./Application/Home/View/default/Public/header.html" />

传入参数

无论你使用什么方式包含外部模板,Include标签支持在包含文件的同时传入参数,例如,下面的例子我们在包含header模板的时候传入了title和keywords变量:

<include file="Public/header" title="ThinkPHP框架" keywords="开源WEB开发框架" />

就可以在包含的header.html文件里面使用title和keywords变量,如下:

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

注意:由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非在调试模式下或者缓存已经过期。如果部署模式下修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。

今天在用的时候心血来潮这样用了

<include file="Public/varb" title="$info['uid']|get_username" keywords="$info['uid']" />

结果最后的到的东西不是想要的 
title 解析成$info['uid']|get_username

我那尕乖乖,怎么个情况。。。。。
求教了屈晓波,才发现自己模板变量没有加上定界符{}

写出来让大家也看看别忽视了小问题。

最后编辑日期:
作者:hainuo
hainuo
这个作者貌似有点懒,什么都没有留下。
https://shenghuo.alipay.com/transfer/aaCollect/pay.htm?id=18656668&sign=1e0c1245ffd24ee46f648ea278825f49
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!