模板标签
- 内置标签:include,import,volist,foreach,for,switch,compare,present,empty,defined,if/else
- 输出php代码:PHP标签
- 原样输出:literal标签<literal></literal>标签是避免解析
标签库
- 使用taglib标签<taglib name="Views\TagLib\Jike"/><Jike:friends name="jike_user" uid="2"></Jike:friends>
- 标签库的加载:taglib标签,标签预加载配置(TAGLIB_PRE_LOAD)\'TAGLIB_PRE_LOAD\'=>\'Views\TagLib\Jike\' <Jike:friends name="jike_user" uid="2"></Jike:friends>
- 配置内置标签库:\'TAGLIB_BUILD_IN\'=>\'Views\TagLib\Jike\' <friends name="jike_user" uid="2"></friends>
如何自定义标签库:
打开 Thinkphp/Library/Think/Template/TagLib/Cx.class.php
在网站的应用目录下创建一个标签的类文件
<?php namespace Views\TagLib; use Think\Template\TagLib; class Jike extends TagLib { //定义标签列表 protected $tags=array( \'friends\'=>array( \'attr\'=>\'uid\', \'close\'=>1 ) ); public function _friends($tag,$content) { $id=$tag[\'uid\']; $name=$tag[\'name\']; $empty=$tag[\'empty\']; $unique=rand(); $parse_string=\'<?php\'; $parse_string=\'$_FRIENDS_\'$unique\'=get_user_friends(\'$id\');\'; $parse_string=\'if(empty($_FRIENDS_\'$unique\')){echo $empty;}\'; $parse_string=\'else\'; $parse_string=\'{\'; $parse_string=\'foreach($_FRIENDS_\'$unique\' as $key=>$\'$name\'){\'; $parse_string=\'?>\'; $parse_string=$content; $parse_string=\'<?php\'; $parse_string=\'}\'; $parse_string=\'}\'; $parse_string=\'?>\'; return $parse_string; } }