変数出力に通常のタグを使用するだけで十分ですが、他のコントロールとループを完了する必要がありますおよび判定機能を使用するには、テンプレートエンジンのタグライブラリ機能を使用する必要があります。システム内のすべてのタグは、XML
タグを導入せずに直接使用できます。閉じたタグと開いたタグの 2 種類。 タグが閉じたタグであるか開いたタグであるかは、定義時に決定されます。 例:rreeeタグ:
<include file="read" />組み込みサポート タグと属性のリストは次のとおりです:
| 属性が含まれます
| |
| インポートリソースファイル(クローズドインクルードjs cssロードエイリアス) )
| file,href,type,value,basepath|
配列 | 名前、ID、オフセット、長さ,key,mod
|
|
foreach | 配列またはオブジェクトトラバーサル | name,item,key|
| ループデータ出力用before | |
switch | 分岐判定出力
| name
|
| 分岐判定出力(必ずスイッチと併用)
|
|
| デフォルトの出力 (closed はスイッチと一緒に使用する必要があります)
| None|
| name,value,type
|
|
range | 範囲判定出力(notbetween間のnotinを含む)
| 名前、値、タイプ
|
値が割り当てられているかどうかを確認する |
name |
|
notpresent |
値がまだ割り当てられているかどうかを確認する | 名前 |
empty |
データが空かどうかを判断する |
name |
no tempty |
データが空でないかどうかを判断します |
name |
define |
定数が定義されているかどうかを判定します |
名前 |
未定義 | 定数が未定義かどうかを判断する |
name |
define |
定数の定義 (クローズド) |
名前、値 |
assign |
変数の代入(クローズド) |
name,value |
条件判断出力 |
condition |
|
elseif |
条件判定出力(closedはifタグと併用する必要があります) |
condition |
他 |
条件が確立されていない出力(closedは他のタグに使用できます) |
なし |
php |
PHPコードを使用 |
なし |
1.include
Include タグを使用して外部を含めることができます。 テンプレート ファイルは次のように使用されます:
include タグ (外部テンプレート ファイルを含む) | |
閉じた |
閉じたタグ |
プロパティ |
: 含めるテンプレートファイル、変数をサポートします |
示例:
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)!