Una página dinámica tiene tablas, listas, etc... y a priori no puedes saber el número de elementos que tendrá.
Smarty (por lo que he leido, que no probado) hace muchas cosas, menos lo que (para mi) deberia. Una página que tiene que ser dinámica tendrá tablas,
listas, etc... y a priori no puedes saber el número de elementos que tendrá. Por eso es necesario poder extraer, parsear, modificar,
sustituir... bloques de la plantilla. Y no puedes decirle a un diseñador que te diseñe los bloques por separado porque le desmontas (por lo menos el
mio). Pedirle la abstracción de diseñar un bloque por separado es un sacrilegio para él :-(
Veamos,
En Smarty, se peude hacer lo que dices [1], pero a mi no me gusta, por que es
meter código en las plantillas, yo prefiero hacer plantillas de N elementos,
y en php asignar los valores, si no hay, pues simplemente se quedan en blanco
o con un texto ... yo que se "you web here", que es lo que acabo de hacer
hace 2 minutos para la aplicación que comentaba ayer x).
Sobre lo de los diseñadores.... pues, si le pagas, es apra que haga lo que
quieres, ¿o no? :). ¿o cuando haces reforma en casa, es el albaññil el que
decide el color de los azulejos?
Esto está pensado para 4 columnas (de ahí el 25%, pero evidentemente, se puede
mejorar...
<table>
<tr>
{section name=numloop loop=$elementos}
<td width="25%">{$elementos[numloop]}</td>
{if not ($smarty.section.numloop.rownum mod $cols)}
{if not $smarty.section.numloop.last}
</tr><tr>
{/if}
{/if}
{if $smarty.section.numloop.last}
{* creamos las celdas vacias que toquen *}
{math equation = "n - a % n" n=$cols a=$elementos|@count
assign="cells"}
{if $cells ne $cols}
{section name=pad loop=$cells}
<td width="25%"> </td>
{/section}
{/if}
</tr>
{/if}
{/section}
</table>
Usuarios que han visto este tema también han visto...
- Patrones de expresiones regulares para htaccess
- Contador de Visitas Básico con PHP
- Convertir campo de fecha en formato europeo
- rawurlencode y rawurldecode en PHP
- Como proteger carpetas web con PHP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.