if,elseif,else

Los comandos {if} del Smarty tiene mucho de la flexibilidad del comando if de php, con algunas adiciones para la herramienta de template. Todo {if} debe tener su {/if}. {else} y {elseif} también son permitidos. Toda las condicionales de PHP son reconcidas, tal como ||, or, &&, and, etc.

La siguiente es una lista de calificadores reconocidos, los cuales deberan estar separados los dos elementos por espacios. Nota loas articulos pueden listarse [entre corchetes] es opcional. Equivalentes al lugar donde se apliquen en PHP.

CalificadorAlternativaEjemplo de SintaxisSignificadoEquivalente en PHP
==eq$a eq $bIguales==
!=ne, neq$a neq $bDiferentes!=
>gt$a gt $bMayor que>
<lt$a lt $bmenor que<
>=gte, ge$a ge $bmayor que o igual>=
<=lte, le$a le $bmenor que o igual<=
=== $a === 0Igual e indentico===
!notnot $anegación (unary)!
%mod$a mod $bmodulo%
is [not] div by $a is not div by 4divisible por$a % $b == 0
is [not] even $a is not even[not] es numero par (unary)$a % 2 == 0
is [not] even by $a is not even by $bagrupar niveles pares [not]($a / $b) % 2 == 0
is [not] odd $a is not odd[not] el numero es impar (unary)$a % 2 != 0
is [not] odd by $a is not odd by $b[not] agrupa los niveles impares($a / $b) % 2 != 0

Ejemplo 7-13. sentencia if

{if $name eq "Fred"}
	Welcome Sir.
{elseif $name eq "Wilma"}
	Welcome Ma'am.
{else}
	Welcome, whatever you are.
{/if}

{* Un ejemplo con "or" logico *}
{if $name eq "Fred" or $name eq "Wilma"}
	...
{/if}

{* El mismo que arriba *}
{if $name == "Fred" || $name == "Wilma"}
	...
{/if}

{* La siguiente sintaxis no funcionara, el calificador de condición
   deben estar separados entre ellos por espacios *}
{if $name=="Fred" || $name=="Wilma"}
	...
{/if}


{* los parentesis son permitidos *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
	...
{/if}

{* Usted también puede colocar funciones de PHP *}
{if count($var) gt 0}
	...
{/if}

{* checa si el valor es par o impar *}
{if $var is even}
	...
{/if}
{if $var is odd}
	...
{/if}
{if $var is not odd}
	...
{/if}

{* checa si la variable  var es divisible por 4 *}
{if $var is div by 4}
	...
{/if}

{* Checa si la variable var es igual, agrupandola por dos. i.e.,
0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *}
{if $var is even by 2}
	...
{/if}

{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
{if $var is even by 3}
	...
{/if}