ThinkPHP-模板指南-修改定界符
来自站长百科
导航:返回上一页
模板文件可以包含普通模板标签和XML模板标签,内置模板引擎的普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。
例如:{$name} {$vo.name} {$vo['name']|strtoupper} 都属于普通模板标签
要更改普遍模板的起始标签和结束标签,请使用下面的配置参数:
PHP代码
TMPL_L_DELIM //模板引擎普通标签开始标记 TMPL_R_DELIM //模板引擎普通标签结束标记
例如在项目配置文件中增加下面的配置:
'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模板标签可以用于模板变量输出、文件包含、模板注释、条件控制、循环输出等功能,而且完全可以自己扩展功能。