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

Template a componenti

Tradizionalmente, programmare le applicazioni a template funziona così: per prima cosa si accumulano le variabili nell'applicazione PHP (magari con query al database). Poi, si istanzia l'oggetto Smarty, si assegnano le variabili e si visualizza il template. Allora supponiamo di avere, ad esempio, un riquadro che visualizza le quotazioni di Borsa (stock ticker) nel nostro template. In questo caso raccoglieremmo i dati sulle azioni nell'applicazione, poi assegneremmo le variabili al template e le visualizzeremmo. Ma non sarebbe bello poter aggiungere questo stock ticker a qualsiasi applicazione semplicemente includendo il template, senza preoccuparci della parte relativa al caricamento dei dati?

E' possibile fare questo scrivendo un plugin personalizzato che recuperi il contenuto e lo assegni ad una variabile del template.

Example 18.7. template a componenti


<?php

// mettiamo il file "function.load_ticker.php" nella directory dei plugin

// scriviamo la funzione che carica i dati
function fetch_ticker($symbol)
{
   // qui metteremo la logica che carica $ticker_info da qualche parte
   return $ticker_info;
}

function smarty_function_load_ticker($params, &$smarty)
{
   // chiamiamo la funzione
   $ticker_info = fetch_ticker($params['symbol']);

   // assegnamo la variabile del template
   $smarty->assign($params['assign'], $ticker_info);
}
?>

    

index.tpl
---------

{* in index.tpl *}

{load_ticker symbol="YHOO" assign="ticker"}

Stock Name: {$ticker.name} Stock Price: {$ticker.price}