- 締切済み
smartyのsection内でloop番号を手動で進められますか?
$rs[0][data1] = 1; $rs[1][data1] = 2; $rs[2][data1] = 3; というように行単位で配列$rsに入っているとし、 1 2 3 というようにSmartyを使用して表示したいのですが、 Smartyでは実現不可能でしょうか? section内で、PHPでいうi++;のように インデックス番号を次に進められれば 可能だとは思うのですが・・ 以下で、挫折しました。 {section name=a start=0 loop=$rs step=2} {$rs[a].data1} {$rs[a].data1}<br> {/section}
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- GuruGuru22
- ベストアンサー率51% (177/346)
回答No.1
if使うとか。他にもやりかたありそうだが。 {section name=a start=0 loop=$rs} {$rs[a].data1} {if $smarty.section.a.index % 2 != 0}<br>{/if} {/section}
お礼
なるほど。確かにそれであれば実現できますね。 ただ、本来ニ列のものを一列に書く事になりますので デザインが崩れてしまい悩んでおります。 例えばテーブルだと以下な感じに出力したい場合、 <tr><td>1</td><td>2</td></tr> <tr><td>3</td><td></td></tr> テンプレートは、 {loop name=rs} <tr><td>rs.a[i]</td><td>rs.a[i+1]</td></tr> {/loop} な感じに書けると理想ですよね。他のテンプレートでは できたような気がしますが、Smartyが苦手な点でしょうか。