What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Les fonctions de compilation sont appelées durant la compilation du template. Elles sont utiles pour injecter du code PHP ou du contenu "statique variant avec le temps" (bandeau de pub par ex.). Si une fonction de compilation et une fonction personnalisée ont le même nom, la fonction de compilation a priorité.
mixed smarty_compiler_name( |
$tag_arg, | |
&$smarty) ; |
string $tag_arg
;object &$smarty
;Les fonctions de compilation ont deux paramètres : une chaîne contenant la balise - en gros, tout, depuis le nom de la fonction jusqu'au délimiteur de fin - et l'objet Smarty. Elles sont censées retourner le code PHP qui doit être injecté dans le template compilé.
Example 16.6. Fonction de compilation simple
<?php /* * Smarty plugin * ------------------------------------------------------------- * Fichier : compiler.tplheader.php * Type : compilation * Nom : tplheader * Rôle : Renvoie l'en-tête contenant le nom du fichier * source et le temps de compilation. * ------------------------------------------------------------- */ function smarty_compiler_tplheader($tag_arg, &$smarty) { return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';"; } ?>
Cette fonction peut-être appelée depuis le template comme suivant :
{* cette fonction n'est executée que lors de la compilation *} {tplheader}
Le code PHP résultant dans les templates compilés ressemblerait à ça :
<?php echo 'index.tpl compiled at 2002-02-20 20:02'; ?>
Voir aussi :
register_compiler_function()
et
unregister_compiler_function()
.