我有一个动态填充的表格,我希望将列数限制为3,以便下一行的下一个td
星号。 (请参阅http://kbay.in并查看页面顶部的类别按钮。)
以下是我使用Smarty PHP导入数据的方法:
<table cellpadding="0" cellspacing="4" width="100"; border-collapse="collapse";>
<tr>
{foreach from=$array_categories item=v name=cat}
<td valign="top" width="116px" align="left">
{capture name=some_content assign=categ_url}
{if $v.subcats>0}{$live_site}/{if $seo_settings.enable_mod_rewrite}{$v.id}-{$v.url_title}/1/listings.html{else}listings.php?category={$v.id}{/if}{/if}
{/capture}
<a href="{$categ_url}">{$v.name|escape:"html"}{if $appearance.categ_count_ads} ({$v.ads}) {/if}</a>
{/foreach}</td></tr> </table>
我怎样才能使每行只有3个表格单元?
答案 0 :(得分:1)
使用foreach
循环的iteration
属性:
...
{foreach from=$array_categories item=v name=cat}
{if $smarty.foreach.cat.iteration % 3 == 0 && $smarty.foreach.cat.iteration > 0}
</tr>
<tr>
{/if}
<td valign="top" width="116px" align="left">
...
$smarty.foreach.cat.iteration
是Smarty2语法,如果你使用Smarty3,你也可以使用$v@iteration
。
答案 1 :(得分:0)
每次在循环中递增一个计数器,并在必要时在循环内开始检查。类似的东西:
if ($counter % 3 == 0) {
echo '</tr><tr>';
}