What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
I modificatori delle variabili si possono applicare alle variabili, alle
funzioni utente o a stringhe. Per applicare un modificatore bisogna indicare
il valore seguito da |
(pipe) e dal nome del modificatore.
Un modificatore può accettare parametri addizionali che modificano il suo
comportamento. Questi parametri seguono il nome del modificatore e sono
separati da :
(due punti).
Example 5.1. esempio di modificatore
{* Mettere il titolo in maiuscolo *} <h2>{$title|upper}</h2> {* Troncare il topic a 40 caratteri usando ... alla fine *} Topic: {$topic|truncate:40:"..."} {* Formattare una stringa indicata direttamente *} {"now"|date_format:"%Y/%m/%d"} {* Applicare un modificatore ad una funzione utente *} {mailto|upper address="me@domain.dom"}
Se applicate un modificatore ad un array invece che ad un singolo valore,
il modificatore verrà applicato ad ogni valore dell'array. Se volete che
il modificatore lavori sull'intero array considerandolo un valore unico,
dovete premettere al nome del modificatore un simbolo @
,
così: {$articleTitle|@count}
(questo stampa il numero
di elementi nell'array $articleTitle).
I modificatori possono essere autocaricati dalla $plugins_dir (vedere Convenzioni di nomenclatura)
oppure possono essere registrati esplicitamente (vedere register_modifier). Inoltre tutte
le funzioni php possono essere usate implicitamente come modificatori.
(L'esempio @count
visto sopra usa in realtà la funzione
php count e non un modificatore di Smarty). L'uso delle funzioni php
come modificatori porta con sé due piccoli trabocchetti: Primo: A volte
l'ordine dei parametri delle funzioni non è quello desiderato
({"%2.f"|sprintf:$float}
funziona, ma non è molto
intuitivo. Più facile è {$float|string_format:"%2.f"}
,
che è fornito da Smarty). Secondo: con $security
attivato, tutte le funzioni php che si vogliono usare come modificatori
devono essere dichiarate affidabili nell'array
$security_settings['MODIFIER_FUNCS'].
Posizione del Parametro | Tipo | Obbligatorio | Default | Descrizione |
---|---|---|---|---|
1 | booleano | No | false | Stabilisce se le parole contenenti cifre verranno trasformate in maiuscolo |
Si usa per mettere in maiuscolo la prima lettera di tutte le parole nella variabile.
Example 5.2. capitalize
<?php $smarty = new Smarty; $smarty->assign('articleTitle', 'next x-men film, x3, delayed.'); $smarty->display('index.tpl'); ?>
Dove index.tpl è:
{$articleTitle} {$articleTitle|capitalize} {$articleTitle|capitalize:true}
Questo stamperà:
next x-men film, x3, delayed. Next X-Men Film, x3, Delayed. Next X-Men Film, X3, Delayed.