Архитектура версии 2.0 позволяет внедрять плагины, которыми являются
практически все настраиваемые элементы функционала Smarty. Сюда входят:
За исключением ресурсов, в целях обратной совместимости с
предыдущими версиями, сохранена возможность регистрации функций
посредством register_* API.
Если вы не используете API, а вместо этого модифицируете свойства
и
некоторые другие напрямую, тогда вам придется подогнать ваши скрипты под
использование API или преобразовать добавленную вами функциональность в
плагины.
Как работают плагины
Плагины загружаются только по необходимости. Только те модификаторы,
функции, ресурсы и т.д., которые используются в шаблоне, будут
загружены. К тому же, каждый плагин загружается только один раз,
даже если у вас есть несколько экземпляров Smarty, работающих
в пределах одного запроса.
Пре/постфильтры и фильтры вывода заслуживают отдельного упоминания.
Так как они не упоминаются в шаблонах, они должны быть зарегистрированы
и загружены неявно через API-функции ещё до обработки шаблона.
Порядок выполнения нескольких фильтров одного типа зависит от
порядка, в котором они регистрировались или загружались.
Директория плагинов
может быть строкой, содержащей путь, или массивом, содержащим
множество путей. Чтобы установить плагин, просто поместите его
в одну из этих директорий и Smarty автоматически будет его использовать.