變數輸出使用普通標籤就夠了,但是要完成其他的控制、循環和判斷功能,就需要藉助模板引擎的標籤庫功能了,系統內置標籤庫的所有標籤無需引入標籤庫即可直接使用。標籤和開放標籤,一個標籤在定義的時候就已經決定了是否是閉合標籤還是開放標籤,不可混合使用,例如:
<include file="read" />
開放標籤:
reeereee內建支援的標籤和屬性
列表如下:include |
|||
包含外部模板檔案(閉合) |
file |
import | ? |
volist
|
循環 數組 |
||
foreach |
數組或物件遍歷輸出 |
name,item,key |
|
,step | switch | ||
|
case | ||
無 |
|||
| name,value,type
|
range |
|
範圍判斷輸出(包括in notin between notbetween別名) |
present
|
判斷是否賦值 |
name |
name |
empty
|
||
name |
|
name |
|
defined |
|
判斷常數是否未定義 |
|
常數定義 (閉合) | assign|||
變數賦值(閉合) |
name,value |
||
if |
elseif |
||
條件判斷輸出(閉合 合可用於其他標籤)
|
無
|
php |
|
可以使用Include標籤來包含外部的範本文件,使用方法如下: | include標籤(包含外部模板檔案) |
|
|
屬性 |
file(必須):要包含的範本文件,支援變數 |
示例: 1、 使用完整文件名包含 格式: <include file="完整模板文件名" /> 例如: <include file="./Tpl/default/Public/header.html" /> 这种情况下,模板文件名必须包含后缀。使用完整文件名包含的时候,特别要注意文件包含指的是服务器端包含,而不是包含一个URL地址,也就是说file参数的写法是服务器端的路径,如果使用相对路径的话,是基于项目的入口文件位置。 2、包含当前模块的其他操作模板文件 格式: <include file="操作名" /> 例如 导入当前模块下面的read操作模版: <include file="read" /> 操作模板无需带后缀。 3、 包含其他模块的操作模板 格式: <include file="模块名:操作名" /> 例如,包含Public模块的header操作模版: <include file="Public:header" /> 4、包含其他模板主题的模块操作模板 格式: <include file="主题名:模块名:操作名" /> 例如,包含blue主题的User模块的read操作模版: <include file="blue:User:read" /> 5、 用变量控制要导入的模版 格式: <include file="$变量名" /> 例如 <include file="$tplName" /> 给$tplName赋不同的值就可以包含不同的模板文件,变量的值的用法和上面的用法相同。 无论你使用什么方式包含外部模板,Include标签支持在包含文件的同时传入参数,例如,下面的例子我们在包含header模板的时候传入了title和keywords变量: <include file="header" title="ThinkPHP框架"keywords="开源WEB开发框架"/> 就可以在包含的header.html文件里面使用var1和var2变量,方法 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>[title]</title> <meta name="keywords" content="[keywords]" /> </head>
注意:由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非在调试模式下或者缓存已经过期。如果部署模式下修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。
以上就是thinkphp常用内置标签include的详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!
|