我有一个聪明的模板,我想要制作一个动态的colspan(一个列完全通过完整的foreach。例如,如果foreach只有一个元素,它只有一个单元格,但如果它有100个元素,那么#&# 39;通过100元素的colspan)
我的代码到目前为止,但它还没有动态:
<table>
{foreach $myvar as $myvar}
<tr>
<td>{$myvar.text}</td>
<td{if $myvar.isTrue == 1} style="background-color: green;"
{/if}>
{if $myvar.isSelected}<i class="fa fa-user"></i>{/if}
</td>
<td colspan=@count($myvar)>{$myvar.colname}</td>
</tr>
{/foreach}
</table>
如何充满活力?
答案 0 :(得分:2)
在Smarty中计算数组的长度,你可以使用
{$myArray|@count}
您的代码应如下所示:
<table>
{foreach $myArray as $myVar}
<tr>
<td>
{$myVar.text}
</td>
<td
{if $myVar.isTrue == 1} style="background-color: green;"{/if}>
{if $myVar.isSelected}<i class="fa fa-user"></i>{/if}
</td>
<td colspan="{$myArray|@count}">
{$myVar.colname}
</td>
</tr>
{/foreach}
</table>