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’]

  • 相关阅读:
    ValidateRequest问题
    通过反射得到object[]数组的类型并且的到此类型所有的字段及字段的值
    正则表达式匹配括号中的字符,不包括括号
    C# String
    C# TYPES
    C# History and Future
    Mixing unmanaged C++ and CSharp
    [Tip: property]C#3.0 autoimplemented property
    C#: constant and readonly
    c#:Nullable Types
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228519.html
Copyright © 2011-2022 走看看