首页 > php教程 > php手册 > 正文

volist 标签 第一个和最后一个判断

php中文网
发布: 2016-06-07 11:34:18
原创
2426人浏览过

处理头尾是经常的事
找到 ThinkPHP\Library\Think\Template\TagLib\Cx.class.php
找到 _volist 方法 替换成下面代码(本人写的代码比较粗,看官们勿笑)public function _volist($tag,$content) {<br>         $name  =    $tag['name'];<br>         $id    =    $tag['id'];<br>         $empty =    isset($tag['empty'])?$tag['empty']:'';<br>         $key   =    !empty($tag['key'])?$tag['key']:'i';<br>         $mod   =    isset($tag['mod'])?$tag['mod']:'2';<br>         // 允许使用函数设定数据集 <volist>{$vo.name}</volist><br>         $parseStr   =  '<?php &#039;;<br />         // $parseStr   =  '$length=count('.$name.') ';<br>         if(0===strpos($name,':')) {<br>             $parseStr   .= '$_result='.substr($name,1).';';<br>             $name   = '$_result';<br>         }else{<br>             $name   = $this-&gt;autoBuildVar($name);<br>         }<br>         $parseStr  .=  'if(is_array('.$name.')): $'.$key.' = 0;';<br>         if(isset($tag['length']) &amp;&amp; '' !=$tag['length'] ) {<br>             $parseStr  .= ' $__LIST__ = array_slice('.$name.','.$tag['offset'].','.$tag['length'].',true);';<br>         }elseif(isset($tag['offset'])  &amp;&amp; '' !=$tag['offset']){<br>             $parseStr  .= ' $__LIST__ = array_slice('.$name.','.$tag['offset'].',null,true);';<br>         }else{<br>             $parseStr .= ' $__LIST__ = '.$name.';';<br>         }<br>         $parseStr .= '$is_first=false;$is_last=false;$_key=0;$length=count($__LIST__);';<br>         $parseStr .= 'if( count($__LIST__)==0 ) : echo "'.$empty.'" ;';<br>         $parseStr .= 'else: ';<br>         $parseStr .= 'foreach($__LIST__ as $key=&gt;$'.$id.'): ';<br>         $parseStr .= 'if($_key==0) : $is_first=true; else :$is_first=false;endif;';<br>         $parseStr .= 'if($_key==($length-1)) :$is_last=true; else :$is_last=false;endif;';<br>         $parseStr .= '$_key++;';<br>         $parseStr .= '$mod = ($'.$key.' % '.$mod.' );';<br>         $parseStr .= '++$'.$key.';?&gt;';<br>         $parseStr .= $this-&gt;tpl-&gt;parse($content);<br>         $parseStr .= '<?php endforeach; endif; else: echo "&#039;.$empty.&#039;" ;endif; ?>';<br><br>         if(!empty($parseStr)) {<br>             return $parseStr;<br>         }<br>         return ;<br>     }模板中<volist><br>             <li>{$vo.value}<br>             <eq>______这是第一条</eq><br>             <eq>______这是最后一条</eq><br>             </li> <br></volist>如有错误,请告知 398235105@qq.com

AD:真正免费,域名+虚机+企业邮箱=0元

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号