5

Smartyを使用しています。n番目の子のli/divクラスのif else条件をファイルに追加したいと思います。.tpl

画像サイズは2つあります。li最初に600pxの画像を使用し、2番目と3番目に400pxの画像を使用し、4番目に600pxの画像を使用したいと思いliます。

現在、CSS3nth-childセレクターを使用しており、スケーリングされた400pxの画像を使用しています。しかし、ロード時間は悪いです。必要に応じて小さい画像を使用したい。

とても複雑だと思います。それは...ですか?

これが私のコードです:

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

{section name=i loop=$posts} {include file="posts.tpl"} {/section}そしてそれは内部のループに存在しますposts.tpl

4

1 に答える 1

2

サイクルが役立ちます。

image-600次の2つのフィールドに画像へのパスが格納された配列があると仮定します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}

あなたの場合、それはおそらく次のようになります:

{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}
于 2012-07-15T19:28:19.480 に答える