Tradicionalmente, programar templates en sus aplicaciones es de la siguiente forma: Primero, usted acumula sus variables dentro de su aplicación PHP, (talvez como requisiciones de una base de datos). Entonces, usted instancia su objeto Smarty assign(), atribuye valores a las variables y muestra el template display(). Por ejemplo nosotros tenemos un registrador de existencias en nuestro template. Nosotros recolectaremos los datos de las existencias en nuestra aplicación, entonces damos valor a estas variables en el template y lo mostramos. Ahora esto seria genial si usted adicionara este registrador de almacenamiento (stock ticker) a cualquier aplicación simplemente incluyendolo en el template, y no preocuparse hacerca de como ir a traer los datos al frente?
Usted puede escribir este plugin haciendo que traiga un contenido y asignarlo a la variable del template.
Example 18.7. Templates con Componetes
function.load_ticker.php
-
deja el archivo en
$plugins directory
<?php // deja el archivo "function.load_ticker.php" en el directorio de plugins // configura nuestra función para traer los datos almacenados function fetch_ticker($symbol) { // ponga la lógica aquí que traera $ticker_name // y $ticker_price de algun recurso return $ticker_info; } function smarty_function_load_ticker($params, &$smarty) { // llama la función $ticker_info = fetch_ticker($params['symbol']); // asigna las variables al template $smarty->assign($params['assign'], $ticker_info); } ?>
index.tpl
{load_ticker symbol="YHOO" assign="ticker"} Stock Name: {$ticker.name} Stock Price: {$ticker.price}
Vea también {include_php}, {include} y {php}.