Thinkphp的Volist标签的总结

最近是用了thinkphp做了一个站。thinkphp 还是一个比较成熟的php框架。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。。。

   volist标签是thinkphp里最常用的一个在模板中循环输出数据集或者多维数组。
  Volist标签主要用于在模板中循环输出数据集或者多维数组。
volist标签(循环输出数据)
闭合 非闭合标签
属性 name(必须):要输出的数据模板变量id(必须):循环变量offset(可选):要输出数据的offset

length(可选):输出数据的长度

key(可选):循环的key变量,默认值为i

mod(可选):对key值取模,默认为2

empty(可选):如果数据为空显示的字符串

 

这是Volist标签的一些基本属性。

1.控制条数。昨天遇到的一个问题是用offset和length来控制数组显示那几条数据。遇到的问题是,我所用的name和id的值是一样的。导致出错。这里有句话 volist的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突。



 <h2><a href="{:U('Sort/sort_search')}" target="_blank">品牌搜索&nbsp;>></a></h2>
 <ul class="brand_hot">
 <volist name="hot_index" id="hot" key="k" offset="0" length='9'>
 <li title="{$hot.sortname}"><a href="{:U('Sort/sort_wine')}/sortid/{$hot.sortid}"><img src="{$hot.image_sort}" width="80px" height="36px"/><span>{$hot.sub_sortname}</span></a></li>
</volist>
 </ul>
<ul class="brand_hot">
<volist name="hot_index" id="hot" key="k" offset="9" <wbr /> >
<li title="{$hot.sortname}"><a href="{:U('Sort/sort_wine')}/sortid/{$hot.sortid}"><img src="{$hot.image_sort}" width="80px" height="36px"/><span>{$hot.sub_sortname}</span></a></li>
</volist>
</ul>
</div>

2.嵌套循环

标签嵌套

模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。

系统内置的标签中,volist(及其别名iterate)、switchifelseifelseforeachcompare(包括所有的比较标签)、(notpresent、(notempty、(notdefined等标签都可以嵌套使用。例如:


<volist >name="list" <wbr />id="vo"></span>

<volist >name="vo['sub']" <wbr />id="sub"></span>

{$sub.name}</span>

</volist></span>

</volist></span>

上面的标签可以用于输出双重循环。

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

关闭菜单