Writing Plugins
Plugins can be either loaded by Smarty automatically from the
filesystem or they can be registered at runtime via one of the
register_* API functions. They can also be unregistered by using
unregister_* API functions.
For the plugins that are registered at runtime, the name of the plugin
function(s) does not have to follow the naming convention.
If a plugin depends on some functionality provided by another plugin
(as is the case with some plugins bundled with Smarty), then the proper
way to load the needed plugin is this:
_get_plugin_filepath('function', 'html_options');
?>
]]>
As a general rule, Smarty object is always passed to the plugins
as the last parameter with two exceptions:
modifiers do not get passed the Smarty object at all
blocks get passed
$repeat after the Smarty object to keep
backwards compatibility to older versions of Smarty.