最近是用了thinkphp做了一个站。thinkphp 还是一个比较成熟的php框架。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。。。
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">品牌搜索 >></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)、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如:
<volist >name="list" <wbr />id="vo"></span> <volist >name="vo['sub']" <wbr />id="sub"></span> {$sub.name}</span> </volist></span> </volist></span>上面的标签可以用于输出双重循环。