Google
Web dns.bdat.net

Re: [PHP-ES] Pregunta sobre Smarty

Write haof XML files: Jesús Reyna ( jesus@soy-geek.com)
Fecha: mié 11 may 2005 - 01:15:12 CEST


Hola.

Debe de ser necesario con que definas una sola vez el lenguaje y que sea
usado en tus demas archivos .tpl, nadamas fijate el orden en que haces
la definición de cada uno.

Yo por ejemplo tengo un template main (layout), el header, el menu y el
del modulo (que es el que cambia) y en algunos módulos incluyo un menu
que tambien cambia dependiendo los privilegios de los usuarios y
asignando la variable antes de llamar los modulos funciona sin ningun
problema.

Saludos.

Jesús Guadalupe Reyna Tovar
Monterrey, Nuevo León, México
http://www.jesusreyna.org
Linux User # 320213

-----BEGIN GEEK CODE BLOCK-----
GCS !d s++:++un--C++UPL++EW?n!ok-W
?O!M?VPSPE++Y?PGPt?5X++Rtv+b-DID+
Ge+¡h!r+y+
------END GEEK CODE BLOCK------
                    www.geekcode.com

Matias Salimbene wrote:
> Hola muchachos, estoy desarrollando un sitio con smarty y me encuentro en la
> siguiente situacion.
>
> Tengo los siguiente templates:
>
> - home.tpl
> - header.tpl
> - footer.tpl
> - menu.tpl
>
> Los templates "header","footer" y "menu" estan incluidos en "home". Es
> decir, que la instruccion display se la aplico a "home" solamente, como los
> otros templates esta incluidos, me aparecen todos. Hasta ahi bien, ahora,
> como puedo hacer para pasar atributos a estos "sub-templates" que tengo.
> Porque los assign que hago funcionan solo para el template para el cual
> despues ejecuto un display.
>
> Ej:
> Home.tpl:
> <html>
> <head>{$idioma}</head>
> <body>
> {include file="header.tpl"}
> {include file="menu.tpl"}
> {include file="footer.tpl"}
> </body>
> <html>
>
> Header.tpl
> <a href='{$link}'>{$nombre}</a>
>
> Menu.tpl
> <a href='{$link1}'>{$nombre1}</a>
>
> Footer.tpl
> <a href='{$link2}'>{$nombre2}</a>
>
> Home.php:
> <?PHP
> if ($lang=="es"){
> $smarty->assign("idioma","español");
> $smarty->display("home.tpl");
> }
> elseif($lang=="en"){
> $smarty->assign("idioma","ingles");
> $smarty->display("home.tpl");
> }
> ?>
>
> Este ejemplo puede ayudar a entender como es el tema. Una cosa que intente
> era agregar atributos a los "include" del "home.tpl" e igualarlos a una
> variable para luego asignarle un valor con assign, pero no me funcionó.
>
> Algo como {include file="menu.tpl" lang=$lenguaje}, lo cual funciona si en
> lugar de poner una variable, pongo un valor estático, pero eso no me sirve.
>
> Espero me hayan podido entender, gracias y saludos!
>
> Matias.-
>

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:24:01 CET