2021-10-07

没研究过 Tpthink 5 ,简单看了下苹果CMS ,只能说老王很懒,要么故意的,要么就老王写代码确实NB,开源程序竟然都不写注释的。

让得别人很难读懂,某段PHP什么作用。

今天闲余看了下,给苹果CMS加上年代范围筛选(如90年代:1990-1999 或者 2000 - 2010)

 


 

(版本时间:2018.05.07,后续老王是否会加上就不知晓了) 

修改路径:(修改前备份源文件)

 

/application/common/model/Vod.php (220行左右) 

$where['vod_year'] = ['in',explode(',',$year)];


更改为

$year = implode(',',str_split($year,4));
$h2_year = explode(',',$year);
if (count($h2_year) > 1) {
        $where['vod_year'] = ['between',$h2_year[0].','.$h2_year[1]];
}else{
        $where['vod_year'] = ['in',$h2_year];
}

 

 

模板应用代码

template/default_pc/html/vod/show.html (73行下方) 

不要写在循环语句内

 
<li><a {if condition="$param['year'] eq 20002010"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>'20002010','level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">2000-2010</a></li>
<li><a {if condition="$param['year'] eq 19901999"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>'19901999','level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">90年代</a></li>
<li><a {if condition="$param['year'] eq 18001989"} class="current" {/if}href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>'18001989','level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">更早</a></li>

 


 

2018.5.8更新 

老王更新了年代范围搜索。

直接在后台扩展里填上想要的范围,如: 1990-1999             


(不支持中文,要想像上面那样含中文的,还是 按我上面那样改吧) 

5.8版的在235行左右 

因为这个版本已经作了判断,不过其语法不严谨,其只判断了4个字符的和9个字符的,没做其他数量字符的处理。需要另作判断:
在147行左右

if(!empty($param['year'])){
                if(strlen($param['year'])==4){
                    $year = intval($param['year']);
                }
                elseif(strlen($param['year'])==9){
                    $tmp = explode('-',$param['year']);
                    $s1 = intval($tmp[0]);$s2 = intval($tmp[1]);
                    if($s1>$s2){
                        $s1 = intval($tmp[1]);$s2 = intval($tmp[2]);
                    }
                    $tmp=[];
                    for($i=$s1;$i<=$s2;$i++){
                        $tmp[] = $i;
                    }
                    $year = join(',',$tmp);
                }

 

改为

 

if(!empty($param['year'])){
                if(strlen($param['year'])==4){
                    $year = intval($param['year']);
                }
                elseif(strlen($param['year'])==9){
                    $tmp = explode('-',$param['year']);
                    $s1 = intval($tmp[0]);$s2 = intval($tmp[1]);
                    if($s1>$s2){
                        $s1 = intval($tmp[1]);$s2 = intval($tmp[2]);
                    }
                    $tmp=[];
                    for($i=$s1;$i<=$s2;$i++){
                        $tmp[] = $i;
                    }
                    $year = join(',',$tmp);
                }else{
                 $year = intval($param['year']);
                }
            }

 

附图:两个修改位置

 

 

 

打赏

好文章,更需要你的鼓励

本文由 氢设计 创作,除注明转载/出处外,均为本站原创,转载前请务必署名

最后编辑时间为:2021-11-23 10:21:01

本文链接:https://www.h2sheji.com/show-23.html