2001/11 Run
dtml-in タグは繰り返しを行うので、tableタグと組み合わせて表を作る時なんかによく利用されます。こんな感じでしょうか:
<table width="100%" border="0" cellpadding="2" cellspacing="1">
<dtml-in allEmployee>
<tr>
<td align="left" valign="top" nowrap>
<dtml-var name>
</td>
<td align="left" valign="top" nowrap>
<a href="maito:<dtml-var email>"><dtml-var email></a>
</td>
<td align="left" valign="top">
<dtml-var comment>
</td>
</tr>
</dtml-in>
</table>
これはこれでOKなんですが、イマイチ見にくい表になってしまいます。border=1とかやれば枠線が出るので見やすくはなりますが、デフォルトの枠線ってダサイので使いたくないという場面もあるでしょう。
以下のようにすると、行の背景を交互に違う色にして、視認性を格段に向上できます。:
<table width="100%" border="0" cellpadding="2" cellspacing="1">
<dtml-in allEmployee>
<dtml-if sequence-even>
<tr bgcolor="#eeeeee">
<dtml-else>
<tr bgcolor="#dfdfdf">
</dtml-if>
<td align="left" valign="top" nowrap>
<dtml-var name>
</td>
<td align="left" valign="top" nowrap>
<a href="maito:<dtml-var email>"><dtml-var email></a>
</td>
<td align="left" valign="top">
<dtml-var comment>
</td>
</tr>
</dtml-in>
</table>
sequence-evenという変数は、dtml-in タグの中でのみ参照できる変数で、繰り返し回数が偶数の時に定義されます。ちなみに奇数の時に定義される変数は sequence-odd です。
こんな感じに、dtml-in タグの内側では色々な便利な変数が定義されるので、一度Zopeに内蔵されている Help システムの dtml-in タグの説明を眺めてみることをお勧めします。
コメント
| Last edited Mon, 11 Sep 2006 10:59:51 +0900 | Edit this page |