Consejos y Trucos Manipulación de Variables Vacias Cuando usted en algunas ocaciones quiere imprimir un valor que usted defíne a una variable vacia en vez de imprimir nada, tal como imprimir " " a fin de que el plano del fondo de la tabla funcione correctamente. Muchos usarian una sentencia {if} para manejar esto, mas existe otra forma con Smarty, usando el modificador de la variable default. Imprimiendo   cuando una variable esta vacia Ver tambien default y Default Variable Handling. Manipulación del valor default de una variable Si una variable es usada frecuentemente en sus templates, aplicando el modificador default toda vez que este es mencionado puede evitar un bit desagradable. Usted puede remediar esto con la atribución de un valor por default a la variable con la función {assign}. Atribuyendo el valor por default a una variable en el template Vea tambiéen default y Blank Variable Handling. Pasando la variable titulo a la cabecera del template Cuando la mayoria de sus templates usan los mismo encabezados y los mismos pies de pagina, es común dividirlos uno en cada template y entonces incluirlos {include}. Que pasara si el encabezado necesita tener un titulo diferente, dependiendo de que pagina estas viniendo? usted puede pasar el titulo en el encabezado cuando este es incluido. Pasando la variable titulo al encabezado del template mainpage.tpl archives.tpl header.tpl {$title|default:"BC News"} ]]> footer.tpl ]]> Cuando la pagina principal es mostrada, el titulo de la "Página Principal" es pasado al template header.tpl, y será posteriormente usado como el titulo. Cuando la pagina de archivo es mostrada, el titulo sera "Archivos". Observelo en el ejemplo de archivo, nosotros estamos usando una variable del archivo archives_page.conf en vez de una variable codificada rigida. Tambien note que "BC news" es mostrada si la variable $titulo no esta definida, usando el modificador de la variable default. Fechas Como una regla basica, siempre pase fechas al Smarty como timestamps. Esto permite al diseñador de template utilizar date_format para el control completo sobre el formato de fechas, y también facilita la comparación de fechas si es necesario. En el Smarty 1.4.0, usted puede parsar fechas al Smarty como timestamps unix,mysql, o cualquier otra fecha interpretable por strtotime(). Usando date_format Esta es la salida: Esta es la Salida: Cuando usa {html_select_date} en un template, el programador normalmente va a querer convertir la salida de un formulario de vuelta al formato timestamp. Aquí esta una función para ayudar con esto. Convirtiendo elementos en forma de fecha de vuelta a un timestamp ]]> Vea también {html_select_date}, {html_select_time}, date_format y $smarty.now, WAP/WML Los templates WAP/WML requieren de un encabezado de Content-Type de PHP para ser pasado junto con el template. La forma mas fácil de hacer esto seria escribir una función de manera habitual que imprima el encabezado. Si usted esta usando el sistema de cache, este no funcionara, entonces nosotros haremos esto usando una etiqueta de {insert} (recuerde que las etiquetas insert no son "cacheadas!"). Asegurarse que no exista ninguna salida al navegador antes del template, de otro modo el encabezado fallara. Usando insert para escribir un encabezado WML Content-Type ]]> Su template de Smarty debe comenzar con la etiqueta insert, como en el ejemplo:

Welcome to WAP with Smarty! Press OK to continue...

Pretty easy isn't it?

]]>
Templates con Componetes Tradicionalmente, programar templates en sus aplicaciones es de la siguiente forma: Primero, usted acumula sus variables dentro de su aplicación PHP, (talvez como requisiciones de una base de datos). Entonces, usted instancia su objeto Smarty assign(), atribuye valores a las variables y muestra el template display(). Por ejemplo nosotros tenemos un registrador de existencias en nuestro template. Nosotros recolectaremos los datos de las existencias en nuestra aplicación, entonces damos valor a estas variables en el template y lo mostramos. Ahora esto seria genial si usted adicionara este registrador de almacenamiento (stock ticker) a cualquier aplicación simplemente incluyendolo en el template, y no preocuparse hacerca de como ir a traer los datos al frente? Usted puede escribir este plugin haciendo que traiga un contenido y asignarlo a la variable del template. Templates con Componetes function.load_ticker.php - deja el archivo en $plugins directory assign($params['assign'], $ticker_info); } ?> ]]> index.tpl Vea también {include_php}, {include} y {php}. Ofuscando direcciones de E-mail Usted desea saber como su direccion de E-mail consigue entrar en tantas listas de e-mail de spam? Una direccion unica spammers recolecta direcciones de E-mail y de paginas web. Para ayudar a combatir este problema, usted puede hacer que su direccion de E-mail aparesca en javascript mostrado en el codigo HTML, este mismo aparecera y funcionara correctamente en el navegador. Esto se puede hacer con el plugin {mailto}. Ejemplo de ofuscamiento de una direccion de E-mail Nota Técnica Este metodo no es 100% a pueba de fallas. Un spammer podría crear un programa para recolectar el e-mail y para decodificar estos valores, mas no es muy común. Vea también escape y {mailto}.