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

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}

    

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors