版本2.0引入了插件结构,用于几乎所有Smarty中可定制的功能。其中包括:
插件总是按需调入。只有模板中调用的特定修饰符、函数、资源才会被调入。而且,每个插件只被调入一次,即使在你的同一个请求中有多个Smarty实例运行。
前/后过滤器和输出过滤器有点特别。由于它们并未在模板中提到,它们必须被注册或通过API函数显式调用,才能继续处理模板。同一类型的多个顾虑其的执行次序取决于它们注册或调入的次序。
插件目录可以是包含目录的字符串或者包含多个路径的数组。要安装一个插件,只要将其放置在其中的一个目录中,Smarty将自动使用之。