You are on page 1of 3

Para empezar ubicamos la carpeta de Smarty en mi caso C:/xampp/php/Smarty-3.1.8/ libs/Smarty.class.

php Ahora al empezar el archivo para instanciar un objeto Smarty <?php require('C:/xampp/php/Smarty-3.1.8/libs/Smarty.class.php'); $smarty = new Smarty; ?> Smarty require cuatro directorios para definir las propiedades de sus clases (po r default) llamados: 'templates/' ----> $template_dir 'templates_c/' ----> $compile_dir 'configs/' ----> $config_dir 'cache/' ----> $cache_dir Crear las carpetas en C:\xampp\htdocs\Smarty\guestbook y tendremos tambien el in dex Ojo dar a las carpetas permisos de escritura. Nosotros necesitamos crear el archivo index.tpl, para que Smarty lo pueda cargar . Este estara localizado en su $template_dir, y lo llenamos con {* Smarty .. esto es un comentario *} H ello, {$name}! Ejemplo de compilacion para el index.php <?php require('C:/xampp/php/Smarty-2.6.26/libs/Smarty.class.php'); //Cargando la libreria de Smarty $smarty = new Smarty; //Enrutamos todas las carpetas por defecto para que funcione el Smarty $smarty->template_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/templa tes/'; $smarty->compile_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/templat es_c/'; $smarty->config_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/configs/ '; $smarty->cache_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/cache/'; //asigna Ned a la variable $name definida en el template index.tpl $smarty->assign('name','Ned'); //muestra la plantilla en el navegador $smarty->display('index.tpl'); ?> Podemos crear un setup.php para que cargue toda la configuracion inicial y solo llamarlo al iniciar nuestro index.php.......Mostraremos donde iria el setup.php <?php // load Smarty library require('C:/xampp/php/Smarty-2.6.26/libs/Smarty.class.php'); // The setup.php file is a good place to load // required application library files, and you // can do that right here. An example: // require('guestbook/guestbook.lib.php'); class Smarty_GuestBook extends Smarty { function Smarty_GuestBook()

{ // Class Constructor. // These automatically get set with each new instance. $this->Smarty(); $smarty->template_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestboo k/templates/'; $smarty->compile_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook /templates_c/'; $smarty->config_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/ configs/'; $smarty->cache_dir = 'C:/xampp/htdocs/www.example.com/Smarty/guestbook/c ache/'; $this->caching = true; $this->assign('app_name', 'Guest Book'); } } ?> El nuevo index.php se vera de la siguiente manera. <?php require('C:/xampp/php/guestbook/setup.php'); //Cargando la libreria de Smarty $smarty = new Smarty_GuestBook; $smarty->assign('name','Ned'); $smarty->display('index.tpl'); ?> -------------------- SMARTY PARA DISEADORES DE PLANTILLAS -----------------------------------Sintaxis Bsica.- Todas la etiquetas del template deben estar marcadas por delimi tadores, estos son: {} -->Bsica {* *} --> Para comentario NOTA: Todo lo que esta fuera de los delimitadores es usado como contenido esttico , lo que esta dentro de {} es interpretado por Smarty e intenta mostrar la salid a apropiada en su lugar En las plantillas se usa <BODY></BODY> , es decir las etiquetas de html normal, y para mostrar otros templates podemos usar {include file="index.tpl"} ---> Usandolo por ejemplo en ejemplo.tpl ---VARIABLES--{$foo} ---> mostrar una variable simple {$foo[4]} --> mostrar una arregle de 5 elementos {$foo->bar} --> mostrar la propiedad bar del objeto foo {$foo->bar()} -->mostrar el valor de retorno del metodo bar {$foo->bar($baz,2,$bar)} --> pasar parametros {"foo"} --> Valores es estaticos son permitidos ---Funciones--Ejemplo de funciones {config_load file="colors.conf"} {include file="header.tpl"} {if $highlight_name} Welcome, <font color="{#fontColor#}">{$name}!</font> {else} Welcome, {$name}!

{/if} {include file="footer.tpl"} ---ATRIBUTOS--{include {include {include {include file="header.tpl"} file="header.tpl" attrib_name="attrib value"} file=$includeFile} file=#includeFile# title="Smarty is cool"}

........Ejemplo como Asignar Arreglos en el archivo php, para usarlos vemos como en el tpl lo llamamos con el '.' como podemos ver en $Contacts.fax <?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'); ?> ........En el archivo tpl (index.tpl) {$Contacts.fax}<br /> {$Contacts.email}<br /> {* you can print arrays of arrays as well *} {$Contacts.phone.home}<br /> {$Contacts.phone.cell}<br />

You might also like