Get Smarty

Donate

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:

Sites Using Smarty

Advertisement

Chapter 16. Etendre Smarty avec des plugins

La version 2.0 a introduit l'architecture de plugin qui est utilisée pour pratiquement toutes les fonctionnalités personnalisables de Smarty. Ceci comprend :

  • les fonctions
  • les modificateurs
  • les fonctions de blocs
  • les fonctions de compilation
  • les filtres de pré-compilation
  • les filtres de post-compilation
  • les filtres de sorties
  • les ressources
  • les insertions

A part pour les ressources, la compatibilité avec les anciennes façons d'enregistrer les fonctions de gestion avec l'API register_ est conservée. Si vous n'avez pas utilisé cette API et que vous avez à la place directement modifié les variables de classes $custom_funcs, $custom_mods et d'autres, vous devez alors modifier vos scripts pour utiliser l'API ou convertir vos fonctionnalités personnalisées en plugins.

Comment fonctionnent les plugins

Les plugins sont toujours chargés à la demande. Seuls les modificateurs de variables, les ressources, etc invoqués dans les scripts de templates seront chargés. De plus, chaque plugin n'est chargé qu'une fois, et ce même si vous avez plusieurs instances de Smarty qui tournent dans la même requête.

Les filtres de post/pré-compilation et les filtres de sortie sont des cas un peu spéciaux. Comme ils ne sont pas mentionnés dans les templates, ils doivent être déclarés ou chargés explicitement via les fonctions de l'API avant que le template ne soit exécuté. L'ordre dans lequel les filtres multiples d'un même type sont exécutés dépend de l'ordre dans lequel ils sont enregistrés ou chargés.

Le répertoire de plugin peut être une chaîne de caractères contenant un chemin ou un tableau contenant de multiples chemins. Pour installer un plugin, placez-le simplement dans un de ces dossiers et Smarty l'utilisera automatiquement.

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors