2012-07-15 4 views
5

Estoy trabajando con Smarty. Deseo agregar una condición if else en mi archivo .tpl para las clases nth-child li/div.if else condición en smarty .tpl para nth-child list/div

Tengo dos tamaños de imagen. Quiero utilizar la imagen de 600px en la primera li, la imagen de 400px en la 2da y 3ra, y nuevamente la imagen de 600px en la 4ta li y así sucesivamente.

Actualmente estoy usando el selector CSS3 nth-child y uso de imágenes 400px escaladas. Pero el tiempo de carga es malo. Quiero usar imágenes más pequeñas cuando sea necesario.

Supongo que es muy complejo. ¿Lo es?

Aquí está mi código:

<img src="{$purl}/thumbs/{$posts[i].pic}" alt="{$posts[i].story|stripslashes}" /> 

y existe en el interior del bucle {section name=i loop=$posts} {include file="posts.tpl"} {/section}posts.tpl.

Respuesta

2

cycle será útil.

Vamos a suponer que usted tiene arsenal con la ruta de las imágenes almacenadas en dos campos: image-600 y image-400:

{foreach from=$images item=image} 
    {capture assign=currentKey}image-{cycle values='600,400,400'}{/capture} 
    <li><img src="{$image[$currentKey]}" alt="{$image.title}" /></li> 
{/foreach} 

en su caso, probablemente se verá así:

{section name=i loop=$posts} 
    {capture assign=thumbSize}{cycle values='big,small,small'}{/capture} 
    <img src="{$purl}/thumbs/{if $thumbSize eq 'big'}{$posts[i].pic}{else}s-{$r[i].pic}{/if}" alt="{$posts[i].story|stripslashes}" /> 
{/section} 
+0

compruebe lo anterior código. gracias por ayudar. He estudiado ciclo y parece el método correcto. –

+0

mis etiquetas de imagen son '{$ purl}/thumbs/s - {$ r [i] .pic}' para 400px y '{$ purl}/thumbs/{$ publicaciones [i] .pic}' para 600px espero que te ayudará a entender –

+0

Gracias amigo, está funcionando perfectamente. :) eres increíble –