ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色
来源:互联网 发布:海角七号歌曲知乎 编辑:程序博客网 时间:2024/05/29 21:35
Action代码:
public function index(){$prod = I("get.prod_en");$id = I("get.id", 0, "int");if ($prod == ""){$serviceProduct = array();//多重循环遍历的数组
//数据保存在两张表中,这里通过循环初始化$serviceProduct数组$service = M("product_class")->order("oid ASC")->select();for ($i = 0; $i < count($service); $i++){array_push($serviceProduct, array("srvName"=>$service[$i]["pc_cn"], "product"=>M("product")->where("prod_class_id=".$service[$i]["pcid"])->order("oid ASC")->select()));}
//如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值。$this->assign("serviceProduct", $serviceProduct);$this->display();}else{if ($id > 0){$this->display("detail");}else{$this->assign('prod_en', $prod);$clsList = M("question_class")->order("oid ASC")->select();$this->assign('clsList', $clsList);$qusList = M("question")->order("oid ASC")->select();$this->assign('qusList', $qusList);$this->display("list");}}}模板代码:
<volist name="serviceProduct" id="sp" key="i"><dl class="dlist odd"><dt>{$sp.srvName}</dt><volist name="sp.product" id="pd" key="j"><dd><a href="/index.php/question?prod_en={$pd.prod_en}">{$pd.prod_cn}</a></dd><if condition="$j lt count($sp['product'])"><dd>|</dd></if></volist><if condition="count($sp['product']) EQ 0"><dd> </dd></if></dl></volist>当使用多重嵌套循环时,需要为每一个volist指定key值,通过
<if condition="$j lt count($sp['product'])">判断是否为数组中的最后一个元素。
Volist标签实现隔行变色
方法1:
<volist name="newslist" id="vo" mod="2"> <li <eq name="mod" value="0"> style="background-color:#000;"</eq>><span>·<a href="{$vo.url}">{$vo.title}</a></span><span>{$vo.edittime|date="Y年m月d日",###}</span><span>{$vo.author}</span></li> </volist>
volist 中的 mod 参数相当于指定一个频率,系统会将当前的实际记录对 mod 参数值求余(PHP中的%运算符)运算。而配合判断标签(如eq标签),就可以按照频率控制输出的数据或数据显示的格式。
<volist name="newslist" id="vo" key="k"> <li <if condition="$k%2== '0'"> style="background-color:#000;"</if >><span>·<a href="{$vo.url}">{$vo.title}</a></span><span> {$vo.edittime|date="Y年m月d日",###}</span><span>{$vo.author}</span></li> </volist>下面再列出一个 Volist 循环table里的tr、td的实例:
<tr bgcolor="#FBFCF1"> <volist name="siteurl" id="site" mod="4"> <eq name="mod" value="0"></tr><tr bgcolor="#FBFCF1"></eq> <td width="25%"><a href="{$site.url}" target="_blank">{$site.name}</a></td> </volist> </tr>
3 0
- ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色
- ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色
- ThinkPHP Volist实现隔行变色及tr、td的循环
- thinkphp中volist的多重循环,标签嵌套
- 【ThinkPHP学习】volist标签使用
- ThinkPHP 模板循环输出 Volist 标签
- ThinkPHP 模板循环输出 Volist 标签
- ThinkPHP 模板循环输出 Volist 标签
- ThinkPHP volist标签嵌套不能超过3层的解决办法
- thinkphp的volist标签
- thinkPHP--Volist标签
- thinkphp volist 嵌套比较 简绍
- 2015-3-4ThinkPHP学习日记(asign(),display(),Volist标签)
- PHP 学习笔记之一:thinkPHP的volist标签
- ThinkPHP volist 二级循环输出
- Thinkphp框架中的volist标签
- 表格应用---隔行变色
- thinkphp中volist或者foreach循环嵌套层数如何修改使得超过3层
- struts2.0的工作原理?
- 图片处理—图片压缩
- [jekyll] 乱码问题invalid byte sequence in GB2312
- 移动互联网发展趋势之我见
- maven 3.2.1之环境搭建与简单实例
- ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色
- N-Queens
- mysql中文乱码
- 隐藏在裸眼3D电视背后的秘密
- Linux下查看cpu信息
- POJ 2398 Toy Storage(叉积+二分)
- 转载:inux的dns缓存,NSCD服务
- Java 调用C/C++ , JNI(Jave Native Interface)的学习
- 跳转到图片