smarty template engine
Saturday, May 17, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


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 />



 

credits 

Smarty Copyright © 2002-2008 New Digital Group, Inc.
All rights reserved.
Last updated: Tue Feb 12 09:11:42 2008 CST