smarty template engine
Thursday, November 20, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Fonctions de compilation

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 (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é.

Exemple 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, &amp;$smarty)
{
    return 
"\necho '" $smarty-&gt;_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().




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.