Thinkphp中的volist标签用法简介

 更新时间:2014年06月18日 10:19:54   投稿:shichen2014  
通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出

通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出。

在控制器中首先对模版赋值,如下例所示:

$User = M('User');
$list = $User->limit(10)->select();
$this->assign('list',$list);

在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">
{$vo.id}:{$vo.name}<br/>
</volist>

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但需要确保不要和name属性冲突,例如:

<volist name="list" id="data">
{$data.id}:{$data.name}<br/>
</volist>

支持输出查询结果中的部分数据,例如输出其中的第5~15条记录:

<volist name="list" id="vo" offset="5" length='10'>
{$vo.name}
</volist>

输出偶数记录:

<volist name="list" id="vo" mod="2" >
<eq name="mod" value="1">
{$vo.name}
</eq>
</volist>

Mod属性还用于控制一定记录的换行,例如:

<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>

为空的时候输出提示:

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

empty属性不支持直接传入html语法,但可以支持变量输出,例如:

$this->assign('empty','<span class="empty">没有数据</span>');
$this->assign('list',$list);

然后在模板中使用:

<volist name="list" id="vo" empty="$empty" >
{$vo.id}|{$vo.name}
</volist>

输出循环变量:

<volist name="list" id="vo" key="k" >
{$k}.{$vo.name}
</volist>

如果没有指定key属性的话,默认使用循环变量i,例如:

<volist name="list" id="vo" >
{$i}.{$vo.name}
</volist>

如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:

<volist name="list" id="vo" >
{$key}.{$vo.name}
</volist>

模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

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

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • yii2控制器Controller Ajax操作示例

    yii2控制器Controller Ajax操作示例

    这篇文章主要介绍了yii2控制器Controller Ajax操作方法,结合实例形式分析了Yii控制器调用ajax的相关技巧,需要的朋友可以参考下
    2016-07-07
  • php遍历数组的4种方法总结

    php遍历数组的4种方法总结

    这篇文章主要介绍了php遍历数组的4种方法总结,它分分别是foreach循环、each函数、list函数、for循环,需要的朋友可以参考下
    2014-07-07
  • yii2简单使用less代替css示例

    yii2简单使用less代替css示例

    本篇文章主要介绍了yii2简单使用less代替css示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程

    php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程

    这篇文章主要介绍了php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • laravel yajra插件 datatable的使用详解

    laravel yajra插件 datatable的使用详解

    这篇文章主要介绍了laravel yajra插件 datatable的使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Laravel框架Auth用户认证操作实例分析

    Laravel框架Auth用户认证操作实例分析

    这篇文章主要介绍了Laravel框架Auth用户认证操作,结合实例形式分析了Auth用户认证的相关操作步骤、实现技巧与使用注意事项,需要的朋友可以参考下
    2019-09-09
  • 基于php的微信公众平台开发入门实例

    基于php的微信公众平台开发入门实例

    这篇文章主要介绍了基于php的微信公众平台开发入门,实例分析了微信公众平台从注册、配置方法及接口代码的实现技巧,深入浅出,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • laravel5.6 框架操作数据 Eloquent ORM用法示例

    laravel5.6 框架操作数据 Eloquent ORM用法示例

    这篇文章主要介绍了laravel5.6 框架操作数据 Eloquent ORM用法,结合实例形式详细分析了laravel5.6 框架使用Eloquent ORM操作数据增删改查相关实现技巧,需要的朋友可以参考下
    2020-01-01
  • 深入php-fpm的两种进程管理模式详解

    深入php-fpm的两种进程管理模式详解

    本篇文章是对php-fpm的两种进程管理模式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • CodeIgniter辅助之第三方类库third_party用法分析

    CodeIgniter辅助之第三方类库third_party用法分析

    这篇文章主要介绍了CodeIgniter辅助之第三方类库third_party用法,以CI集成Twig模版为例分析了CodeIgniter集成第三方类库的实现步骤与相关技巧,需要的朋友可以参考下
    2016-01-01

最新评论