前过滤器模板前过滤器是在模板编译前运行的PHP函数。你可以用来预处理模板,例如删除不需要的注释,看看模板里放了什么等。 前过滤器可以被注册,或者从插件目录中用load_filter()函数调入,或者设置$autoload_filters变量而调用。 Smarty将模板源代码作为第一个参数传递,并期望函数返回经处理的模板源代码。 例子15-2. 使用模板前过滤器 下例将移除模板资源中所有的HTML注释。
|
后过滤器
模板后过滤器是在模板编译后前运行的PHP函数。后过滤器可以被注册,或者从插件目录中用load_filter()函数调入,或者设置$autoload_filters变量而调用。Smarty将传递编译后的模板代码作为第一个参数,并期望函数返回处理后的结果。
例子15-3. 使用模板后过滤器
上面的后过滤器将使编译过的Smarty模板index.tpl看起来为:
register_prefilter()描述void register_prefilter ( mixed function)该函数动态注册前过滤器,在模板编译前过滤模板。如何设置前过滤器函数的更多信息,参见前过滤器一节。 PHP回调函数可以是:
参见unregister_prefilter(),register_postfilter(),register_ouputfilter(),load_filter(),$autoload_filters以及前过滤器。 |