Capa Vista Funciones de smarty mas usadas en html

Sintaxis de smarty


Esta documentación es sacada de: Smarty.net
  • Primero debemos tener en cuenta que todo lo que vaya dentro de un template y contenga llaves {} es sintaxis smarty.
  • Todo lo que vaya dentro de llaves con un signo peso {$example} es una variable.
  • Todo lo que vaya dentro de {literal}{/literal} es código javascript o css que se puede insertar normalmente, si no se inserta dentro de estas etiquetas de "literal" no podrá ser cargado normalmente esto debido a que tanto javascript como css usan las llaves con otro fin diferente al de smarty.

Los siguientes ejemplos son formas de mostrar datos dentro del template, algunos pasados desde el controlador, otros creados en el mismo template (en el caso de assign); es muy importante reconocer esta sintaxis, ya que cuando uno pasa una variable, o un arreglo o un objeto la sintaxis es diferente.

{$foo} -- displaying a simple variable (non array/object)
{$foo[4]} -- display the 5th element of a zero-indexed array
{$foo.bar} -- display the "bar" key value of an array, similar to PHP $foo
{$foo.$bar} -- display variable key value of an array, similar to PHP $foo[$bar]
{$foo->bar} -- display the object property "bar"
{$foo->bar()} -- display the return value of object method "bar"
{$foo[bar]} -- syntax only valid in a section loop, see {section}
{assign var=foo value="baa"}{$foo} -- displays "baa", see {assign}

Many other combinations are allowed

{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} -- passing parameters
{"foo"} -- static values are allowed
Capa Vista Funciones de smarty mas usadas en html