おはよう/午後、
私は以下に関して助けを探しています:
{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コードを使用すると、2列ではなく1列のテーブルにのみスタイル設定されます。
一度に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}