ich möchte eine 4-spaltige Tabelle einrichten, welche sich nach der Zeilenzahl der Inhalte richtet. Das Problem ist, ich kann mich nicht an den items meiner foreach-Schleife orientieren, da ich hier noch vor jedem neuen Anfangsbuchstaben weitere Zeilen einfüge. Ich bekomme bei meiner Variante unterschiedlich lange Spalten. Hat jemand einen Tipp für mich, wie ich das gleichmäßiger lösen kann?
Code: Select all
{if isset($items)}
<table class="mega-layer-table"><tr><td valign="top" width="25%">
{assign var=zaehler value=0}
{foreach from=$items item=entry name=schleifling}
{assign var=umbruchwert value=$smarty.foreach.schleifling.total/3|ceil}
{assign var=firstletter value=$entry->company_name|substr:0:1|upper}
{if $firstletter != $aktletter}{if $smarty.foreach.schleifling.first}{else}<br />{assign var=zaehler value=$zaehler+1}{/if}<strong class="firstletter">{$firstletter}</strong><br />{assign var=zaehler value=$zaehler+1}{assign var=aktletter value=$firstletter}{/if}<a href="{$entry->detail_url}">{$entry->company_name}</a><br />{assign var=zaehler value=$zaehler+1}
{if $zaehler >= $umbruchwert}{assign var=firstcol value=true}{/if}
{if $zaehler >= $umbruchwert*2}{assign var=secondcol value=true}{/if}
{if $zaehler >= $umbruchwert*3}{assign var=thirdcol value=true}{/if}
{if $firstcol == true && $firstcoldone != true}{assign var=firstcoldone value=true}</td><td valign="top" width="25%">{/if}
{if $secondcol == true && $secondcoldone != true}{assign var=secondcoldone value=true}</td><td valign="top" width="25%">{/if}
{if $thirdcol == true && $thirdcoldone != true}{assign var=thirdcoldone value=true}</td><td valign="top" width="25%">{/if}
{/foreach}
</td></tr></table>
{/if}
anti