Smarty模板 - foreach一次只显示2个结果

时间:2012-06-11 06:02:11

标签: php mysql smarty

早上好/下午好,

我正在寻求以下方面的帮助:

{foreach key=num item=customfield from=$customfields}
<div class="control-group" style="margin-bottom:0px">
    <label class="control-label" for="customfield{$customfield.id}">{$customfield.name}</label>
    <div class="controls" style="margin-left:145px;">
    {$customfield.input} {$customfield.description}
    </div>
</div>
{/foreach}

我的smarty模板有一个登录页面,设置有2列注册页面,如:

col1有姓名,姓氏,电子邮件等。 col2有地址,地址2等。

这些都对齐,左边是col1,表格右边是col2。

现在使用上面的代码,foreach代码,它只会设置为1列表,而不是2。

我如何让它一次显示2个结果并将其显示在表格中。

我想感谢大家提前帮助。

编辑2。

{foreach key=num item=customfield from=$customfields}
{if $customfields@interation is even by 2}
<tr><td>{$customfield.name}{$customfield.input}{$customfield.description}</td>
{else} <td><td>{$customfield.name}{$customfield.input}{$customfield.description}</td>
</tr>{/if}{/foreach}

需要改变什么?

编辑3。

使用以下代码解决了问题。

{foreach from=$customfields item=customfield name=ODDEVEN }
<tr><td style="border-left:0px;">
{if $smarty.foreach.ODDEVEN.index % 2}
<div class="control-group">
    <label class="control-label" for="customfield{$customfield.id}" style="width:125px;">{$customfield.name}</label>
    <div class="controls" style="margin-left:145px;">
    {$customfield.input} {$customfield.description}
    </div>
</div>
{else}</td>
<td><div class="control-group" style="margin-bottom:0px">
    <label class="control-label" for="customfield{$customfield.id}" style="width:125px;">{$customfield.name}</label>
    <div class="controls" style="margin-left:145px;">
    <div class="fixinput span4">{$customfield.input}</div> {$customfield.description}
    </div>
</div>
</td></tr>
{/if}
{/foreach}

0 个答案:

没有答案