1

おはよう/午後、

私は以下に関して助けを探しています:

{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}
4

0 に答える 0