tp3 的前端内置标签

Volist 标签

volist标签通常用于查询数据集(select 方法),对于查询出来的结果数组进行遍历输出。

首先赋值:
$User = M("User");  
$list = $User->limit(10)->select();  
$this->assign('list',$list);  
$this->display();  

 页面的展示:
<volist name="list" id="vo">  
{$vo.id} : {$vo.name} <br/>  
</volist>  
 输出结果:1  : tom

    3  : jack

    5   : jetty

 

1.offset 、 length属性 —— 输出部分数据
<volist name="list" id="vo" offset="4" length="5">   
    {$vo.id} : {$vo.name}  <br/>  
</volist>  
  
//显示的是第5条到第10条数据  
结果:  
18 : jetty   
19 : tom2   
20 : tom3  
21 : tom4   
22 : tom5  
 

 2.mod属性 —— 将数据分块输出
/* 输出偶数数据 
*  第一行的mod值是将数据分成2个一组,序号都是从0开始 
*  第二行 当mod值为1时输出数据,也就是显示偶数的数据 
*/  
<volist name="list" id="vo" mod="2">  
    <eq name="mod" value="1">{$vo.name}</eq>  
</volist>  
  
  
/* 控制一行记录的换行 
* 同理,先将数据分成4个一组,都是从0开始标序号 输出所有数据 
*  当每组中的序号为3 也就是显示最后一个数据后,输出换行符 
*/  
<volist name="list" id="vo" mod="4">  
      {$vo.name}  
    <eq name="mod" value="3"><br/></eq>  
</volist>  
 

 3.empty —— 数据为空提示
<volist name="list" id="vo" emptyempty="暂时没有数据显示">  
    {$vo.id}|{$vo.name}  
</volist>  
//如果没有可显示的数据 就会输出 "暂时没有数据显示"提示  
  
/* 
*   empty 支持向页面传值 
*/  
$this->assign('empty','<span class="empty">没有可显示的数据</span>');  
$this->assign('list',$list);  
$this->display();  
  
//模板中使用:  
<volist name="list" id="vo" offset="10" length="3" emptyempty="$empty">  
    {$vo.id}|{$vo.name}  
</volist>  
 

 4.key属性 —— 输出数据序号
<volist name="list" id="vo" emptyempty="$empty" key="k">  
    {$k} :  {$vo.name}  
</volist>  
//序号 从1开始  
  
/* 如果key属性没有写,默认的可以用i表示 
* 结果与上同  序号也是从1开始 
*/  
<volist name="list" id="vo" emptyempty="$empty">  
    {$i}  {$vo.id}|{$vo.name}  
</volist>  
  
注:也可以只用key变量,此时序号从0开始。  
 Foreach标签

 
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性
name : 表示数据源     item : 表示循环变量

<foreach name="list" item="vo">  
    {$key}|{$vo}  
</foreach>  
  
//也可以定义索引的变量名  
<foreach name="list" item="vo" key="k">  
    {$k}|{$vo}  
</foreach>  
//索引都是从0开始    
 For 标签
格式:
<for start="开始值" end="结束值" comparison="判断条件" step="步进值" name="循环变量名">  
</for>  
开始值、结束值、步进值和循环值都可以支持变量,开始值和结束值是必须,其他是可选。comparison的默认值是lt;name的默认值是i,步进值的默认值是1

<for start="1" end="100">  
    {$i}  
</for>  

/* 
 解析后的代码是: 
    for($i=1; $i<100; $i+=1){ 
        echo $i 
    } 
*/  
/** 
*   for循环输出user对象的数据值,k是循环变量名 
*/  
<for start="1" end="6" name="k">  
    {$user[$k]['id']}  : {$user[$k]['username']}  <br/>  
</for>  
原文地址:https://www.cnblogs.com/tianyihao/p/9844081.html