Get Smarty

Donate

Donate Bitcoin Bitcoin
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

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy wedding dresses on SiteSteer.com - Best Online Wedding Dress Store

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Funzioni sui blocchi

void smarty_block_name( $params,  
  $content,  
  &$smarty,  
  &$repeat);  
array $params;
mixed $content;
object &$smarty;
boolean &$repeat;
 

Le funzioni sui blocchi sono funzioni che appaiono nel template nella forma: {func} .. {/func}. In altre parole, racchiudono un blocco del template e lavorano sul contenuto di questo blocco. Le funzioni di blocco hanno la precedenza sulle funzioni personalizzate con lo stesso nome, il che significa che non potete avere una funzione personalizzata {func} ed allo stesso tempo una funzione di blocco {func} .. {/func}.

Per default la funzione di implementazione viene chiamata due volte da Smarty: una per il tag di apertura, e una per il tag di chiusura (guardate sotto &$repeat per capire come modificare questo comportamento).

Solo il tag di apertura della funzione di blocco può avere attributi. Tutti gli attributi passati dal template alle funzioni relative sono contenuti in $params nella forma di array associativo. Potete accedere a questi valori, ad esempio, con $params['start']. Gli attributi del tag di apertura sono accessibili alla funzione anche in fase di elaborazione del tag di chiusura.

Il valore di $content dipende se la funzione viene chiamata per il tag di apertura o per quello di chiusura. Nel caso del tag di apertura, sarà null, mentre nel caso del tag di chiusura sarà il contenuto del blocco di template. Notate che il blocco sarà già stato elaborato da Smarty, quindi ciò che riceverete sarà l'output del template, non il sorgente.

Il parametro &$repeat è passato alla funzione per riferimento e le fornisce la possibilità di controllare quante volte il blocco viene visualizzato. Per default $repeat è true alla prima chiamata della funzione (al tag di apertura), e false per tutte le chiamate successive (al tag di chiusura). Ogni volta che la funzione termina con il valore di &$repeat a true, il contenuto compreso fra {func} e {/func} viene valorizzato e la funzione viene chiamata di nuovo con il nuovo contenuto del blocco nel parametro $content.

Se avete funzioni di blocco nidificate, potete scoprire qual è il blocco genitore attraverso la variabile $smarty->_tag_stack. Fate un var_dump() su questa variabile e la struttura dovrebbe apparirvi evidente.

Vedere anche: register_block(), unregister_block().

Example 16.5. funzione di blocco


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     block.translate.php
 * Type:     block
 * Name:     translate
 * Purpose:  translate a block of text
 * -------------------------------------------------------------
 */
function smarty_block_translate($params, $content, &$smarty, &$repeat)
{
    if (isset($content)) {
        $lang = $params['lang'];
        // fate qui una traduzione intelligente di $content
        return $translation;
    }
}
?>

     

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 14 plus 17? (Are you human?)

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
Buy from China @dhgate.com
First Click Internet Marketing @fcinternetmarketing.com