{include} 载入模板文件
{include}用于载入其他模板到当前模板中。 在包含模板中可用的变量,载入后在当前模板仍然可用。
{include}必须设置file 属性,设置载入的文件资源路径。
设置了可选的assign属性,将{include}模板的内容赋值到变量,而并非输出。 与 {assign}操作相似。
包含模板时,可以像使用属性一样设置传递的变量。 这样传递的变量,作用范围仅限于包含的模板内。 属性传递的变量将覆盖原包含模板的同名变量。
你可以在当前模板内使用包含模板的全部变量。 但是如果包含模板内有修改或者新建变量,那么这些变量只有包含模板的作用范围,而不可以是当前{include}模板中使用。 这种默认的设置,可以通过在包含模板时设置{include}的作用范围属性,或者 在修改或新增变量时通过{assign}及{global}的作用范围属性来设定。 后者在需要包含模板返回值时比较有用。
参数名 | 类型 | 必需 | 说明 |
---|---|---|---|
file | string | Yes | 需要载入的模板文件 |
assign | any | No | 将包含的文件内容赋值给变量 |
output | bool | No | 是否输出内容,false 为执行但是不输入内容,一些只有函数的模板中可以使用 |
使用如下:
indix.tpl
<html>
<head>
<title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}
{global var=tpl_name value="contact.tpl"}
{* $tpl_name 变量可以来自php ,也可以使用 global 注册,assign 注册的变量插件域无法读取*}
{include file=$tpl_name}
{* 可以加入一些属性 *}
{include file='page_footer.tpl' mydata='this is mydata'}
</body>
</html>
page_header.tpl
<div>页面头部</div>
contact.tpl
<div>联系方式信息</div>
page_footer.tpl
<div>这是尾部,传递过来的数据是:{$mydata}</div>
输出结果:
<html>
<head>
<title>hello sdopx</title>
</head>
<body>
<div>页面头部</div>
<div>联系方式信息</div>
<div>这是尾部,传递过来的数据是:this is mydata</div>
</body>
</html>