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:
Las funciones compiladoras solo son llamadas durante la compilación del template. Estas son útiles para inyectar codigo PHP o contenido estático time-sensitive dentro del template. Si existen ambas, una función compiladora y una función habitual registrada bajo el mismo nombre, la función compiladora tiene precedencia.
mixed smarty_compiler_name( |
$tag_arg, | |
&$smarty) ; |
string $tag_arg
;object &$smarty
;En las funciones compiladoras son pasados dos parámetros: la etiqueta string del argumento de la etiqueta - basicamente, todo a partir del nombre de la función hasta el delimitador del cierre, y el objeto del Smarty. Es supuesto que retorna el codigo PHP para ser inyectado dentro del template compilado.
Vea también register_compiler_function(), unregister_compiler_function().
Example 16.6. Función compiladora simple
<?php /* * Smarty plugin * ------------------------------------------------------------- * File: compiler.tplheader.php * Type: compiler * Name: tplheader * Purpose: Output header containing the source file name and * the time it was compiled. * ------------------------------------------------------------- */ function smarty_compiler_tplheader($tag_arg, &$smarty) { return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';"; } ?>
Esta función puede ser llamada en un template de la siguiente forma:
{* esta función es ejecutada solamente en tiempo de compilación *} {tplheader}
El codigo PHP resultante en el template compilado seria algo asi:
<?php echo 'index.tpl compiled at 2002-02-20 20:02'; ?>