Eyoucms程序开发:循环输出标签
VOLIST标签
volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值:
$list = User::all();
$this->assign('list',$list);
在模版定义如下,循环输出用户的编号和姓名:
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}
{/volist}
Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:
{volist name="list" id="data"}
{$data.id}:{$data.name}
{/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"}
{/eq}
{/volist}
为空的时候输出提示:
{volist name="list" id="vo" empty="暂时没有数据" }
{$vo.id}|{$vo.name}
{/volist}
empty属性不支持直接传入html语法,但可以支持变量输出,例如:
$this->assign('empty','没有数据');
$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}
FOREACH标签
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,最简单的用法是:
{foreach $list as $vo}
{$vo.id}:{$vo.name}
{/foreach}
该用法解析后是最简洁的。
也可以使用下面的用法:
{foreach name="list" item="vo"}
{$vo.id}:{$vo.name}
{/foreach}
name表示数据源 item表示循环变量。
可以输出索引,如下:
{foreach name="list" item="vo" }
{$key}|{$vo}
{/foreach}
也可以定义索引的变量名
{foreach name="list" item="vo" key="k" }
{$k}|{$vo}
{/foreach}
FOR标签
用法:
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt,name的默认值是i,步进值的默认值是1,举例如下:
{for start="1" end="100"}
{$i}
{/for}
解析后的代码是
for ($i=1;$i<100;$i+=1){
echo $i;
}
相关文档
- pbootcms标签分页中url会无限重复叠加的解决方案
- pbootcms模板标签序数从2开始
- pbootcms模板首页循环调用所有栏目和对应内容
- pbootcms模板如何输出当前页面的完整url地址
- pbootcms模板文章列表序号调用标签
- pbootcms网站标签pboot:list当前文档高亮设置教程
- Pbootcms字段为空调用另一个字段标签代码
- pbootcms基本调用标签大全
- pbootcms详情页常见标签调用
- pbootcms多个栏目循环调用栏目内容
- pbootcms调用搜索页keyword值数量和标签页tag值和...
- pbootcms导航标签从第2个开始调用的方法
- PbootCMS生成的sitemap.xml中增加tag标签链接
- PbootCMS网站标题描述等标签限制字数的办法
- 如何使用PbootCMS内容详情页标签调用相关信息
- pbootcms、dedecms等模板标签正则替换为迅睿cms标...
- 迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式
- 用jQuery替换文章编辑器里的图片样式及alt标签 实现自定义...
- 迅睿cms站群系统实现全国城市分站功能插件及调用标签
- 外贸网站H2标签SEO优化注意事项
上一篇: Eyoucms程序开发:MongoDb
下一篇: Eyoucms程序开发:比较标签