>Piccoli tips & tricks con Smarty

>Preparando il nuovo sito web (a breve completamente online, rimanete in attesa! 🙂 ) ho utilizzato alcuni di questi metodi con Smarty che non sono complicati ma molto utili, e potrebbero risultare utili.

1. Mostrare l’età, che si aggiorna dinamicamente

In questo esempio verrà sempre mostrata la mia reale età (1985 è la mia data di nascita) sfruttando un’equazione matematica e utilizzando $smarty.now per recuperare l’anno corrente:


{math equation="x - 1985" x=$smarty.now|date_format:"%Y"}

2. Utilizzare le variabili della request

(In realtà non l’ho più utilizzato, meglio parsarle nel PHP)

Questi gli equivalenti rispettivamente di $_GET[‘item’], $_POST[‘item’], $_COOKIE[‘item’]:


{$smarty.get.item}
{$smarty.post.item}
{$smarty.cookies.item}

3. Modifier ‘default’ per variabili vuote

Per controllare una variabile vuota, invece di diverse righe di codice e l’uso di un if come in questo caso:



{if $item eq ''}
default item value
{else}
{$item}
{/if}

si può sfruttare il modifier default in questo modo:


{$item|default:'default item value'}

4. Alternare stili CSS

Potrebbe essere il caso di liste o tabelle o altri elementi, nelle quali si vorrebbero alternare 2 colori diversi di background:


{foreach from=$projects name=workslist item=project}

{if $smarty.foreach.workslist.iteration is not odd}

{else}

{/if}
{/foreach}

Ancora più elegante potrebbe essere una soluzione con la funzione cycle.

5. Lista separata da un carattere

Ad esempio, se vogliamo stampare una lista di nomi separati da una virgola ma (ovviamente) evitare la virgola finale:


{section name=sectionname loop=$names}
{$names[sectionname]}{if $smarty.section.sectionname.last == false}, {/if}
{/section}

L’output sarebbe qualcosa come:

Warty, Feisty, Karmic, Breezy, Lucid

Leave a Comment

Your email address will not be published. Required fields are marked *