Re: [請益] 請問大家用Smarty在這種情況會怎麼做
※ 引述《knives ()》之銘言:
: 因為我都習慣在Smarty裡用foreach的方法
: 但是如果碰到要用迴圈印出下面這種格式的表格,大家都會怎麼解決
: <table>
: {{foreach item=val from=aData key=key1 }}
: {{if key1 % 3 }}
: <tr>
: {{/if}}
: <td>{{$val}}</td>
: {{if key1 % 3 }}
: </tr>
: {{/if}}
: {{/foreach}}
: </table>
: 所以上面的跑法是一列裡面都有三格
: 但是問題來了,如果遇到最後一列,不足三格的話,比方說剩下一格,就會變成置中
: 兩個就會變成平均分散
: 這樣就會很難看,我是希望無論如何都是長的一樣
: 可是我要怎麼判斷是最後一列
: 請問有用Smarty的人,都是怎麼做的
: 謝謝
去查smarty裡面有last和total
所以可以這樣用
在最後一筆的時候
做另外的處理
<table>
{{foreach item=val from=aData key=key1 name=foo}}
{{if key1 % 3 }}
<tr>
{{/if}}
{{if ($smarty.foreach.foo.last == 1)&&($smarty.foreach.foo.totle%3 == 2)}}
<td>{{$val}}</td></tr>
{{else if ($smarty.foreach.foo.last == 1)&&($smarty.foreach.foo.totle%3 == 1)}}
<td>{{$val}}</td><td></td></tr>
{{else if ($smarty.foreach.foo.last == 1)&&($smarty.foreach.foo.totle%3 == 0)}}
<td>{{$val}}</td><td></td><td></td></tr>
{{else}}
<td>{{$val}}</td>
{{if key1 % 3 }}
</tr>
{{/if}}
{{/if}}
{{/foreach}}
</table>
其實我覺得smarty很好用
但是它美中不足的地方
就是不能用巢狀式if
都要寫在一起= =
實在很難看
不過其他地方真的很好用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.102.193
※ 編輯: mattttt 來自: 140.118.102.193 (09/15 16:37)
推
09/15 17:29, , 1F
09/15 17:29, 1F
討論串 (同標題文章)