プラグインは Smarty によってファイルシステムから自動的に読み込まれるか、 register_* API 関数のうちの1つを経由して動的に登録する事ができます。 また、それらは unregister_* API 関数を使う事によって未登録にする事ができます。
動的に登録されるプラグインについてはプラグイン関数の命名規約に従う必要はありません。
Smarty にバンドルされたいくらかのプラグインに関する場合と同様に、 プラグインが別のプラグインによって提供される機能に依存する場合は次の方法で必要とされるプラグインを読み込みます。
<?php require_once $smarty->_get_plugin_filepath('function', 'html_options'); ?>
基本的に、Smarty のオブジェクトは常に最後のパラメータとしてプラグインに渡されます。 ただし、例外が2つあります。
変数の修飾子は Smarty オブジェクトを渡しません。
ブロックの場合は Smarty オブジェクトの後に $repeat
が渡されます。これは、以前のバージョンの Smarty
との後方互換性を保つためのものです。