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つある場合は、class = "last"を1つ追加しますが、3番目の結果のように中間の結果を追加しますか?
<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>