Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Check reviews of PHP Web Hosting, compatible with Smarty Templates

Chapter 16. Плагины - расширение функциональности Smarty

Архитектура версии 2.0 позволяет внедрять плагины, которыми являются практически все настраиваемые элементы функционала Smarty. Сюда входят:

  • функции
  • модификаторы
  • блоковые функции
  • функции компилятора
  • префильтры
  • постфильтры
  • фильтры вывода
  • ресурсы
  • вставки

За исключением ресурсов, в целях обратной совместимости с предыдущими версиями, сохранена возможность регистрации функций посредством register_* API. Если вы не используете API, а вместо этого модифицируете свойства $custom_funcs, $custom_mods и некоторые другие напрямую, тогда вам придется подогнать ваши скрипты под использование API или преобразовать добавленную вами функциональность в плагины.

Как работают плагины

Плагины загружаются только по необходимости. Только те модификаторы, функции, ресурсы и т.д., которые используются в шаблоне, будут загружены. К тому же, каждый плагин загружается только один раз, даже если у вас есть несколько экземпляров Smarty, работающих в пределах одного запроса.

Пре/постфильтры и фильтры вывода заслуживают отдельного упоминания. Так как они не упоминаются в шаблонах, они должны быть зарегистрированы и загружены неявно через API-функции ещё до обработки шаблона. Порядок выполнения нескольких фильтров одного типа зависит от порядка, в котором они регистрировались или загружались.

Директория плагинов может быть строкой, содержащей путь, или массивом, содержащим множество путей. Чтобы установить плагин, просто поместите его в одну из этих директорий и Smarty автоматически будет его использовать.

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 12 plus 2? (Are you human?)

Sponsors [info]

Cheap Website Hosting @hostdone.com
email marketing @ActiveCampaign
I.T Certification Exams @pass-guaranteed.com
Certification Practice Tests @firsttrycertify.com
Certification Practice Exam Questions @ace-it-certifications.com
Broadband Providers @broadbandproviders.co.uk
bulk email software @americaint.com
ASP.NET hosting @aspnethosting.co.uk