|
|

|
Capítulo 4. Variables
Smarty tiene varios tipos diferentes de variables. El tipo de variable
depende de cual simbolo este prefijado(incluido dentro).
Las variables de Smarty no pueden ser mostradas directamente
o usadas como argumentos para
atributos,
funciones y
modificadores, dentro
de expresiones condicionales, etc. Para mostrar una variable,
simplesmente coloque esta entre delimitadores siendo esta la única
cosa entre ellos. Ejemplos:
{$Name}
{$Contacts[row].Phone}
<body bgcolor="{#bgcolor#}"> |
Variables definidas desde PHP
Las variables que son asignadas desde PHP
son referenciadas precedidas estas con una señal de cifrado $.
Las variables definidas dentro del template como una función
assign también son
mostradas de esta manera.
Ejemplo 4-1. variables definidas php script
<?php
$smarty = new Smarty;
$smarty->assign('firstname', 'Doug'); $smarty->assign('lastname', 'Evans'); $smarty->assign('meetingPlace', 'New York');
$smarty->display('index.tpl');
?>
|
Donde el contenido de index.tpl es:
Hello {$firstname} {$lastname}, glad to see you can make it.
<br />
{* this will not work as $vars are case sensitive *}
This weeks meeting is in {$meetingplace}.
{* this will work *}
This weeks meeting is in {$meetingPlace}. |
esta es la salida:
Hello Doug Evans, glad to see you can make it.
<br />
This weeks meeting is in .
This weeks meeting is in New York. |
|
Arreglos asociativos
Usted también puede referenciar matrices asociativas en variables
que son definidas desde PHP especificando la clave después del
simbolo '.'(punto).
Ejemplo 4-2. Accesando variables de matriz asociativa
<?php $smarty->assign('Contacts', array('fax' => '555-222-9876', 'email' => 'zaphod@slartibartfast.com', 'phone' => array('home' => '555-444-3333', 'cell' => '555-111-1234') ) ); $smarty->display('index.tpl'); ?>
|
Donde el contenido de index.tpl es:
{$Contacts.fax}<br />
{$Contacts.email}<br />
{* you can print arrays of arrays as well *}
{$Contacts.phone.home}<br />
{$Contacts.phone.cell}<br /> |
esta es la salida:
555-222-9876<br />
zaphod@slartibartfast.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Índices de Matrices
Usted podra referencia matrizes por su índice, muy semejantes a la
sintaxis de PHP.
Ejemplo 4-3. Accesando matrices por sus índices
<?php $smarty->assign('Contacts', array( '555-222-9876', 'zaphod@slartibartfast.com', array('555-444-3333', '555-111-1234') )); $smarty->display('index.tpl'); ?>
|
Donde index.tpl es:
{$Contacts[0]}<br />
{$Contacts[1]}<br />
{* you can print arrays of arrays as well *}
{$Contacts[2][0]}<br />
{$Contacts[2][1]}<br /> |
esta es la salida:
555-222-9876<br />
zaphod@slartibartfast.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Objects
Las propiedades de los objetos
definidos desde PHP pueden ser referenciados especificando el nombre de la propiedad
después del simbolo '->'.
Ejemplo 4-4. Accesando propiedades de los Objetos name: {$person->name}<br />
email: {$person->email}<br /> |
esta es la salida:
name: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.com<br /> |
|
|
|
|