Programación en castellano
Inicio > Tutoriales > Smarty
-Tutoriales

Smarty


Variables modificadas

Smarty ofrece alrededor de 20 modificadores, con ayuda de los cuales podemos cambiar la apariencia de las variables, pero no sólo eso. Para aplicar un modificador en una variable debemos utilizar el esquema

{$variable_name|modifier_name}

Algunos de los modificadores pueden tener parámetros que deben ser proporcionados al llamarlos. Si existiera la necesidad de añadir un parámetro a un modificador, entonces utilizaríamos el siguiente esquema:

{$variable_name|modifier_name:
  parameter1:parameter2}

El parámetro puede ser una cadena o un valor numérico. En el primer caso, debemos colocarlos entre comillas. ¿Qué modificadores serían de utilidad en nuestro ejemplo? Notemos que no todos los fragmentos del título del álbum empiezan con mayúsculas. Podría ser un dato erróneo en la base de datos, pero esto no nos interesa. Este valor de la variable fue transferido a la plantilla y debemos arreglárnoslas con eso. Para eliminar este problema, añadamos el modificador capitalize a la variable $albumTitle. Este hará que cada palabra en la variable dada empiece con mayúscula.

Otro punto que merece la pena subrayar, es el índice de canciones. Supuse que es porporcionado en forma de una variable escalar, donde los títulos son separados por punto y coma. Desde luego, sería más cómodo almacenarlos en un array, pero de esto nos ocuparemos luego. Ahora intentemos formatear la lista que nos llega en esta forma. Para empezar, nos valdremos del modificador replace, el cual busca en la variable una cadena que nos interesa y la cambia por otra. En este caso, estamos trabajando con un modificador que requiere dos parámetros. El primero de ellos es la cadena a buscar y el segundo – la cadena a introducir. Entonces cambiemos los puntos y comas en la variable $albumSongs por tags <br/>. De este modo obtendremos una lista de canciones, cuyos títulos serán colocados uno debajo del otro.

El último punto será ajustar el párrafo con la descripción del disco. Para este propósito debemos utilizar el modificador wordwrap, el cual ajusta la cadena a un ancho determinado. El modificador posee tres parámetros. El primero de los parámetros indica el ancho al cual el texto se debe ajustar (por defecto son 80 caracteres), el segundo, define el símbolo que servirá para ajustar el texto (por defecto es \n), el tercer parámetro indica si el texto debe ser ajustado al final de la palabra o si la palabra puede ser dividida en dos partes (la primera opción es la que está por defecto).

La plantilla con cambios se presenta en el Listado 3, y su funcionamiento se muestra en la Figura 4.

Listado 3: Plantilla album.tpl después de agregar los modificadores
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<meta name="description" content="Discografía del conjunto The Beatles" />

<title>{$albumName|capitalize}</title>

</head>

<body>

<h3>{$albumName|capitalize}</h3>

<table>
  <tr>
    <td style="vertical-align: top"><img src="{$albumCover}" alt="" /></td>
    <td><b>Índice de canciones:</b><br />{$albumSongs|replace:";":"<br />"}</td>
  </tr>
</table>

<h4>Descripción del álbum:</h4>
<p>{$albumSynopsis|wordwrap:100:"<br />"}</p>

<p><a href="">Página principal</a></p>

</body>
</html>
Figura 4. Página sgtpep.php después de modificar la plantilla
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados