ThinkPHP Volist实现隔行变色及tr、td的循环

2014-06-12 11:21
ThinkPHP Volist标签实现隔行变色的代码如下。

方法1、

  1. <volist name="newslist" id="vo" mod="2">  
  2.  <li <eq name="mod" value="0"> style="background-color:#000;"</eq>><span>·<a href="{$vo.url}">{$vo.title}</a></span><span>{$vo.edittime|date="Y年m月d日",###}</span><span>{$vo.author}</span></li>  
  3. </volist>

volist 中的 mod 参数相当于指定一个频率,系统会将当前的实际记录对 mod 参数值求余(PHP中的%运算符)运算。而配合判断标签(如eq标签),就可以按照频率控制输出的数据或数据显示的格式。

方法2、

  1. <volist name="newslist" id="vo" key="k">  
  2.  <li <if condition="$k%2== '0'"> style="background-color:#000;"</if >><span>·<a href="{$vo.url}">{$vo.title}</a></span><span> {$vo.edittime|date="Y年m月d日",###}</span><span>{$vo.author}</span></li>  
  3.  </volist>  

下面再列出一个 Volist 循环table里的tr、td的实例。

  1. <tr bgcolor="#FBFCF1">  
  2.  <volist name="siteurl" id="site" mod="4">  
  3. <eq name="mod" value="0"></tr><tr bgcolor="#FBFCF1"></eq>  
  4. <td width="25%"><a href="{$site.url}" target="_blank">{$site.name}</a></td>  
  5. </volist>  
  6. </tr>  

但这个例子还有一个不完美的地方,那就是如果一个tr放的是五个td那么可能最后一行的td 不足个的情况,那么样式就不好了,希望知道怎么解决的朋友告知我一下。

^