volist 标签 第一个和最后一个判断
程序员文章站
2022-06-01 14:43:02
...
处理头尾是经常的事
找到 ThinkPHP\Library\Think\Template\TagLib\Cx.class.php
找到 _volist 方法 替换成下面代码(本人写的代码比较粗,看官们勿笑)
找到 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';
// 允许使用函数设定数据集 {$vo.name}
$parseStr = '
// $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 .= '';
if(!empty($parseStr)) {
return $parseStr;
}
return ;
}
模板中
{$vo.value}
______这是第一条
______这是最后一条
如有错误,请告知 398235105@qq.com AD:真正免费,域名+虚机+企业邮箱=0元
上一篇: 如何禁止非会员用户访问视频/图片?
下一篇: 计算指定工作日后的日期_PHP教程
推荐阅读
-
php中删除数组的第一个元素和最后一个元素的函数
-
C++实现LeetCode(34.在有序数组中查找元素的第一个和最后一个位置)
-
CSS选取第一个、最后一个、偶数、奇数、第n个标签元素
-
在排序数组中查找元素的第一个和最后一个位置、变形二分法
-
#leetcode刷题之路34-在排序数组中查找元素的第一个和最后一个位置
-
34. 在排序数组中查找元素的第一个和最后一个位置
-
Leetcode No.34 在排序数组中查找元素的第一个和最后一个位置
-
在排序数组中查找元素的第一个和最后一个位置(二分、lower_bound、upper_bound)
-
在排序数组中查找元素的第一个和最后一个位置
-
CSS选择除第一个和最后两个以外的所有子元素 + 结构伪类选择器深度解析