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