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

Funciones de Template

void smarty_function_name( $params,  
  &$smarty);  
array $params;
object &$smarty;
 

Todos los atributos pasados para las funciones de template a partir del template estan contenidas en $params como un arreglo asociativo.

La salida(valor de retorno) de la función será substituida en el lugar de la etiqueta de la función en el template (la función fetch, por ejemplo). Alternativamente, la función puede simplemente ejecutar alguna otra tarea sin tener alguna salida (la función assign).

Si la función necesita pasar valores a algunas variables del template o utilizar alguna otra funcionalidad del Smarty, esta puede usar el objeto $smarty alimentandolo para hacer eso.

Vea tambien: register_function(), unregister_function().

Example 16.1. Función de plugin con salida


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     function.eightball.php
 * Type:     function
 * Name:     eightball
 * Purpose:  outputs a random magic answer
 * -------------------------------------------------------------
 */
function smarty_function_eightball($params, &$smarty)
{
    $answers = array('Yes',
                     'No',
                     'No way',
                     'Outlook not so good',
                     'Ask again soon',
                     'Maybe in your reality');

    $result = array_rand($answers);
    return $answers[$result];
}
?>


que puede ser usada en el template de la siguiente forma:

Question: Will we ever have time travel?
Answer: {eightball}.
    

Example 16.2. Función de plugin sin salida


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     function.assign.php
 * Type:     function
 * Name:     assign
 * Purpose:  assign a value to a template variable
 * -------------------------------------------------------------
 */
function smarty_function_assign($params, &$smarty)
{
    if (empty($params['var'])) {
        $smarty->trigger_error("assign: missing 'var' parameter");
        return;
    }

    if (!in_array('value', array_keys($params))) {
        $smarty->trigger_error("assign: missing 'value' parameter");
        return;
    }

    $smarty->assign($params['var'], $params['value']);
}
?>

      


Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors