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

Prefiltros/Postfiltros

Los Plugins Prefilter y postfilter con muy similares en concepto; donde ellos difieren es en la ejecución -- mas precisamente en el tiempo sus ejecuciones.

string smarty_prefilter_name( $source,  
  &$smarty);  
string $source;
object &$smarty;
 

Los Prefilters son usados para procesar el fuente del template inmediatamente antes de la compilación. El primer parámetro de la función del prefilter es el fuente del template, posiblemente modificado por algunos otros prefilters. El Plugin es supuesto que retorne el fuente modificado. Observe que este código no es salvado en ningun lugar, este es solo usado para la compilación.

string smarty_postfilter_name( $compiled,  
  &$smarty);  
string $compiled;
object &$smarty;
 

Los Postfilters son usados para procesar la salida compilada del template (el código PHP) inmediatamente después de que la compilacion es terminada pero antes de que el template compilado sea salvado en el sistema de archivos. El primer parámetro para la función postfilter es el código del template compilado, posiblemente modificado por otros postfilters. El plugin se supone retornara la versión modificada de este código.

Example 16.7. prefilter plugin


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     prefilter.pre01.php
 * Type:     prefilter
 * Name:     pre01
 * Purpose:  Convert html tags to be lowercase.
 * -------------------------------------------------------------
 */
 function smarty_prefilter_pre01($source, &$smarty)
 {
     return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
 }
?>

     

Example 16.8. postfilter plugin


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     postfilter.post01.php
 * Type:     postfilter
 * Name:     post01
 * Purpose:  Output code that lists all current template vars.
 * -------------------------------------------------------------
 */
 function smarty_postfilter_post01($compiled, &$smarty)
 {
     $compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
     return $compiled;
 }
?>

     

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors