搜索
系统检测到您的用户名不符合规范:

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

浏览:8427 发布日期:2016年05月28日 分类:系统代码 关键字: 模板
处理头尾是经常的事
找到 ThinkPHP\Library\Think\Template\TagLib\Cx.class.php
找到 _volist 方法 替换成下面代码(本人写的代码比较粗,看官们勿笑)public function _volist($tag,$content) {
$name = $tag['name'];
$id = $tag['id'];
$empty = isset($tag['empty'])?$tag['empty']:'';
$key = !empty($tag['key'])?$tag['key']:'i';
$mod = isset($tag['mod'])?$tag['mod']:'2';
// 允许使用函数设定数据集 <volist name=":fun('arg')" id="vo">{$vo.name}</volist>
$parseStr = '<?php ';
// $parseStr = '$length=count('.$name.') ';
if(0===strpos($name,':')) {
$parseStr .= '$_result='.substr($name,1).';';
$name = '$_result';
}else{
$name = $this->autoBuildVar($name);
}
$parseStr .= 'if(is_array('.$name.')): $'.$key.' = 0;';
if(isset($tag['length']) && '' !=$tag['length'] ) {
$parseStr .= ' $__LIST__ = array_slice('.$name.','.$tag['offset'].','.$tag['length'].',true);';
}elseif(isset($tag['offset']) && '' !=$tag['offset']){
$parseStr .= ' $__LIST__ = array_slice('.$name.','.$tag['offset'].',null,true);';
}else{
$parseStr .= ' $__LIST__ = '.$name.';';
}
$parseStr .= '$is_first=false;$is_last=false;$_key=0;$length=count($__LIST__);';
$parseStr .= 'if( count($__LIST__)==0 ) : echo "'.$empty.'" ;';
$parseStr .= 'else: ';
$parseStr .= 'foreach($__LIST__ as $key=>$'.$id.'): ';
$parseStr .= 'if($_key==0) : $is_first=true; else :$is_first=false;endif;';
$parseStr .= 'if($_key==($length-1)) :$is_last=true; else :$is_last=false;endif;';
$parseStr .= '$_key++;';
$parseStr .= '$mod = ($'.$key.' % '.$mod.' );';
$parseStr .= '++$'.$key.';?>';
$parseStr .= $this->tpl->parse($content);
$parseStr .= '<?php endforeach; endif; else: echo "'.$empty.'" ;endif; ?>';

if(!empty($parseStr)) {
return $parseStr;
}
return ;
}
模板中<volist name='Array' id='vo'>
<li>{$vo.value}
<eq name="is_first" value="true">______这是第一条</eq>
<eq name="is_last" value="true">______这是最后一条</eq>
</li>
</volist>
如有错误,请告知 398235105@qq.com
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
Halo
积分:676 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /