ThinkPHP-模板指南-修改定界符

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

模板文件可以包含普通模板标签和XML模板标签,内置模板引擎的普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。

例如:{$name} {$vo.name} {$vo['name']|strtoupper} 都属于普通模板标签

要更改普遍模板的起始标签和结束标签,请使用下面的配置参数:

PHP代码

TMPL_L_DELIM  //模板引擎普通标签开始标记     

TMPL_R_DELIM    //模板引擎普通标签结束标记    

例如在项目配置文件中增加下面的配置:

XML/HTML代码


'TMPL_L_DELIM'=>'<{',    

'TMPL_R_DELIM'=>'}>',   

普通标签的定界符就被修改了,原来的

XML/HTML代码

{$name} {$vo.name}   

必须使用<{$name}> <{$vo.name}> 才能生效了。

普通模板标签主要用于模板变量输出、模板注释和公共模板包含。如果要使用其它功能,请使用XML模板标签,ThinkPHP包含了一个基于XML和TagLib技术的模板标签,包含了普通模板有的功能,并且有一些方面的增强和补充,更重要的一点是新的标签库模板技术更加具有扩展性。新的TagLib标签库具有命名空间功能,ThinkPHP框架内置了CX标签库。如果你觉得XML标签无法在正在使用的编辑器里面无法编辑,还可以更改XML标签库的起始和结束标签,请修改下面的配置参数:

PHP代码

TAGLIB_BEGIN    //标签库标签开始标签     

TAGLIB_END    //标签库标签结束标记    

例如在项目配置文件中增加下面的配置:

PHP代码

'TAGLIB_BEGIN'=>'[',    

'TAGLIB_END'=>']',    

原来的

XML/HTML代码

<eq name="name" value="value">相等<else/>不相等</eq>   

就必须改成

XML/HTML代码

[eq name="name" value="value"]相等[else/]不相等[/eq]   

注意XML标签和普通标签的定界符不能冲突,否则会导致解析错误。XML模板标签可以用于模板变量输出、文件包含、模板注释、条件控制、循环输出等功能,而且完全可以自己扩展功能。