2012-04-10 87 views
-1

即時通訊添加一個類到foreach的最後一個選項有麻煩,它由於某種原因重複它的任何想法?smarty foreach上次無法正常工作?

{if $subcategories} 
<div class="subcategories"> 
{if $subcategories|@count < 6} 
    <ul> 
{/if} 
{foreach from=$splitted_subcategories item="ssubcateg"} 
    {if $subcategories|count >= 6} 
     <div class="subcategories"> 
      <ul> 
    {/if} 
     {foreach from=$ssubcateg item=category name="ssubcateg"} 
     {if $category.category_id}<li{if $smarty.foreach.ssubcateg.last} class="last"{/if}><a href="{"categories.view?category_id=`$category.category_id`"|fn_url}" class="strong">{$category.category}</a></li>{/if} 

    {/foreach} 
    {if $subcategories|count >= 6} 
      </ul> 
     </div> 
    {/if} 
{/foreach} 
{if $subcategories|count < 6} 
</ul> 
{/if} 
</div> 
{/if} 

輸出: 似乎重複?如果有6個結果是增加一個類=「最後」,但在第三個結果中的中間結果?

<ul> 
<li class="last"><a class="strong" href="#">Link</a></li> 
    <li><a class="strong" href="#">Link</a></li> 
    <li class="last"><a class="strong" href="#">Link</a></li> 
    <li><a class="strong" href="#">Link</a></li> 
</ul> 
+0

我不知道你爲什麼決定做你剛做的事。如果你發佈了一個問題,但沒有得到你正在尋找的回覆,[刪除它](http://stackoverflow.com/questions/10050215/smarty-foreach-last-not-working-correctly-where-have-我錯了),並重新發布完全相同的問題並不是正確的方式去在這裏的事情。請不要這樣做。 – Lix 2012-04-10 23:27:33

+1

對不起,假設它年齡較大,優先下降,希望得到迴應。但不會再這樣做。 – 2012-04-10 23:46:02

+0

我只是好奇,這是什麼語法? – Shoe 2012-04-11 00:00:08

回答

0

您最後的項目正在重複,因爲您正在檢查»在內部循環中是最後一個«。你忽略了內部循環本身是循環的。嘗試:

{foreach from=$splitted_subcategories item="ssubcateg" name="outer"} 
    {foreach from=$ssubcateg item=category name="ssubcateg"} 
    {if $smarty.foreach.outer.last && $smarty.foreach.ssubcateg.last} 
     … 
+0

似乎沒有工作?它現在在最後2 – 2012-04-11 20:03:57

+0

上添加了類,在「ssubcateg」中有一個錯字。再試一次 – rodneyrehm 2012-04-11 21:29:51