2012-07-15 3 views
5

Smartyで作業しています。 nth-child li/divクラスの.tplファイルにif elseという条件を追加します。smartyのその他の条件.thatのnth-childリスト/ div

私は2つの画像サイズを持っています。私は最初のliの600pxイメージ、2番目と3番目の400pxイメージ、そして4番目のliの600pxイメージを使いたいと思います。

現在、私はCSS3 nth-childセレクタを使用しており、縮尺400ピクセルの画像を使用しています。しかし、ロード時間は悪いです。私は必要なところで小さな画像を使いたい。

私は非常に複雑だと思います。それは...ですか?

は、ここに私のコードです:

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

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

答えて

2

cycleが役に立ちます。それはおそらく、このようになります。

{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} 

あなたの場合:image-600image-400

{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

は、上記ご確認ください

のは、次の2つのフィールドに保存されている画像へのパスの配列を持っていると仮定しましょうコード。助けてくれてありがとう。私はサイクルを勉強したし、正しい方法と思われる。 –

+0

私のイメージタグは400pxでは '{$ rl [i] .pic}'、600pxでは '{$ post [i] .pic}'は '{$ purl}/thumbs/ –

+0

おかげで、その完璧に動作します。 :)あなたは素晴らしいです –

関連する問題