Smarty 2.0 から導入されたプラグインアーキテクチャにより、Smartyのほとんど全ての機能がカスタマイズ可能になりました。プラグインには次のものがあります。
プラグインは要求があると常に読み込まれます。テンプレートから呼び出された修正子・関数・リソース等のプラグインだけが読み込まれます。さらに各プラグインは同じリクエスト内にSmartyの異なるインスタンスが複数実行されていても、読み込まれるのは一度だけです。
プリ/ポストフィルタとアウトプットフィルタは少し特別なケースです。それらはテンプレートから呼び出されないので、テンプレートが処理される前にAPI 関数を経由して明示的に登録又は読み込まれる必要があります。同じ種類の複数のフィルタが実行される順序は、それらが登録又は読み込まれる順序によって決まります。
プラグインディレクトリは、単一または複数のパスを格納した配列である事ができます。 プラグインのインストールは単にプラグインファイルをディレクトリ内に置くだけです。そうすればSmartyはそれを自動的に使用します。