zoukankan      html  css  js  c++  java
  • PHP 学习笔记之一:thinkPHP的volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组。

    属性:

    name : 必须,输出数据模板变量,后台提供的变量
    id : 必须,是循环变量,可以随便定义,但是不能跟name相同。

    举个栗子:

    <volist name="user" id="vo">
        {$vo.name}
    </volist>
    
    后台传入user变量
    $this->assign('user',$user);
    
    这样就循环输出user的name

    offset : 可选,从模板变量的第几个开始循环。
    lengthb : 可选,输出数据的长度。

    举个栗子:

    <volist name="user" id="vo" offset="5" length="10">
        {$vo.name}
    </volist>
    输出第5条到第15条记录

    key : 可选,循环的索引。

    举个栗子:

    <volist name="user" id="vo" key="k">
        {$k}.{$vo.name}
    </volist>
    输出:
        1.名字1
        2.名字2
        3.名字3
        ...
    <volist name="user" id="vo">
        {$i}.{$vo.name}
        {$key}.{$vo.name}
    </volist>
    如果没有定义key,默认使用i,或者是key,效果也是一样的

    empty : 可选,数据为空的时候输出的内容

    <volist name="list" id="vo" empty="暂时没有数据" >
         {$vo.name}
    </volist>

    拓展一下:
    从2.1版开始允许在模板中直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

    <volist name=":fun('arg')" id="vo">{$vo.name}</volist>
    

    还有在volist循环里面,如果嵌入php代码,怎么输出变量?直接看栗子吧:

    <select>
     <volist name="goods" id="vo">
          <option value="{$vo.goods_name}" <?php echo ($goods_name == $vo['goods_name'])?"selected":"" ?> >{$key}.{$vo.goods_name}</option>
     </volist>
    </select>

    在下拉列表里面,根据后台提供的数据,动态的添加option选项。在里面,用php代码,实现select动态显示option的值,而在php代码块中,使用volist的变量,则要使用$vo[‘goods_name’]

  • 相关阅读:
    每日日报2020.12.1
    每日日报2020.11.30
    981. Time Based Key-Value Store
    1146. Snapshot Array
    565. Array Nesting
    79. Word Search
    43. Multiply Strings
    Largest value of the expression
    1014. Best Sightseeing Pair
    562. Longest Line of Consecutive One in Matrix
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228519.html
Copyright © 2011-2022 走看看