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:
Nome Attributo | Tipo | Obbligatorio | Default | Descrizione |
---|---|---|---|---|
from | array | sì | nessuno | Array sul quale viene eseguito il ciclo |
item | stringa | sì | nessuno | Nome della variabile che rappresenta l'elemento attuale |
key | stringa | no | nessuno | Nome della variabile che rappresenta la chiave attuale |
name | stringa | no | nessuno | Nome del ciclo foreach per l'accesso alle sue proprietà |
I cicli foreach sono un'alternativa ai cicli section. foreach si usa per ciclare su un singolo array associativo. La sintassi di foreach è molto più semplice di session, ma in compenso può essere usata solo per un array singolo. I tag foreach devono essere chiusi con /foreach. I parametri obbligatori sono from e item. Il nome del ciclo foreach può essere quello che preferite, composto di lettere, numeri e underscore. I cicli foreach possono essere nidificati, ma i nomi dei cicli nidificati devono essere diversi tra di loro. La variabile from (di solito un array di valori) determina quante volte verrà eseguito il ciclo foreach. foreachelse viene eseguito quando non ci sono valori nella variabile from.
Example 7.4. foreach
{* questo esempio stamperà tutti i valori dell'array $custid *} {foreach from=$custid item=curr_id} id: {$curr_id}<br> {/foreach} OUTPUT: id: 1000<br> id: 1001<br> id: 1002<br>
Example 7.5. foreach con key
{* key contiene la chiave per ogni valore del ciclo l'assegnazione può essere qualcosa del genere: $smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); *} {foreach name=outer item=contact from=$contacts} {foreach key=key item=item from=$contact} {$key}: {$item}<br> {/foreach} {/foreach} OUTPUT: phone: 1<br> fax: 2<br> cell: 3<br> phone: 555-4444<br> fax: 555-3333<br> cell: 760-1234<br>
I cicli foreach hanno anche le proprie variabili che gestiscono le proprietà del foreach. Queste vengono indicate così: {$smarty.foreach.foreachname.varname}, dove foreachname è il nome indicato come attributo name del foreach
iteration si usa per mostrare l'iterazione corrente del ciclo.
iteration comincia sempre per 1 ed è incrementata di uno ad ogni iterazione.
show si usa come parametro per il foreach. show è un valore booleano, true o false. Quando è false, il foreach non verrà visualizzato. Se è presente un foreachelse, verrà visualizzato al suo posto.