Написание плагинов

Smarty может подгружать плагины автоматически из файловой системы или регистрировать их во время выполнения (at runtime) посредством одной из register_* API функций. Их также можно дерегистрировать, используя unregister_* API функции.

Плагинам, которые регистрируются во время выполнения, могут присваиваться имена не соответствующие правилам соглашения об именах.

Если плагин зависит от некоторых функций другого плагина (как в некоторых случаях с плагинами, поставляемыми вместе со Smarty), то такой плагин можно загрузить следующим образом:


<?php
require_once $smarty->_get_plugin_filepath('function', 'html_options');
?>

 

Важно знать, что объект Smarty всегда передаётся в плагин последним параметром (за двумя исключениями: модификатором объект Smarty вообще не передаётся, а блоки получают &$repeat следом за объектом Smarty в целях обратной совместимости с ранними версиями Smarty).