帝国cms 用结合项开发分类筛选的操作方法

时间:2024年02月10日

/

来源:网络

/

编辑:佚名

帝国cms教程:结合项开发分类筛选的操作方法
1、肯定要从后台添加相关的字段(如何添加这种问题就不说了)

帝国cms教程:结合项开发分类筛选的操作方法
从最后选中结合向的选项。
2、从帝国cms的 userfun.php 函数中,增加下方代码
function user_ShowFieldandChange($ecms=0){
    global $public_r;
    //------- 函数参数设置开始 -----
    //要显示的结合项字段列表,多个字段用半角逗号“,”隔开
    $fieldandvar='qyfl,hyyy';
    //字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2
    $fieldandval=array();
    $fieldandval['qyfl']='地区:|==|不限,##北京,北京市##天津,天津##河北,河北##山西,山西##内蒙古,内蒙古##河南,河南##山东,山东##陕西,陕西##辽宁,辽宁##吉林,吉林##黑龙江,黑龙江##甘肃,甘肃##宁夏,宁夏##新疆,新疆##青海,青海##上海,上海##浙江,浙江##江苏,江苏##广东,广东##广西,广西##湖南,湖南##湖北,湖北##四川,四川##重庆,重庆##福建,福建##安徽,安徽##江西,江西##贵州,贵州##云南,云南##海南,海南';
    $fieldandval['hyyy']='行业应用: |==|不限,##政@府,政@府##公@检@法,公@检@法##部@队,部@队##监@狱,监@狱##企业,企业##交通,交通##石化,石化';
    //正常链接样式
    $fieldandcss='fieldandcss';
    //已选的选项链接样式
    $changefieldandcss='changefieldandcss';
    //字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
    $fieldexp='<div class="caseB">|</div>';
    //选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
    $valexp='|';
    //------- 函数参数设置结束 -----
    $userfunecmsver=function_exists('ehtmlspecialchars')?1:0;
    //附加参数
    $urlcs='';
    $mid=(int)$_GET['mid'];
    if($mid)
    {
        $urlcs.='&mid='.$mid;
    }
    if($_GET['classid'])
    {
        $classid=RepPostVar($_GET['classid']);
        $urlcs.='&classid='.$classid;
    }
    else
    {
        if(!$_GET['mid']&&!$_GET['ttid']&&!$_GET['ztid'])
        {
            $classid=intval($GLOBALS['navclassid']);
            $urlcs.='&classid='.$classid;
        }
    }
    if($_GET['ttid'])
    {
        $ttid=RepPostVar($_GET['ttid']);
        $urlcs.='&ttid='.$ttid;
    }
    if($_GET['ztid'])
    {
        $ztid=RepPostVar($_GET['ztid']);
        $urlcs.='&ztid='.$ztid;
    }
    if($_GET['firsttitle'])
    {
        $firsttitle=(int)$_GET['firsttitle'];
        $urlcs.='&firsttitle='.$firsttitle;
    }
    if($_GET['isgood'])
    {
        $isgood=(int)$_GET['isgood'];
        $urlcs.='&isgood='.$isgood;
    }
    if($_GET['endtime'])
    {
        $starttime=RepPostVar($_GET['starttime']);
        $endtime=RepPostVar($_GET['endtime']);
        $urlcs.='&starttime='.$starttime.'&endtime='.$endtime;
    }
    $line=(int)$_GET['line'];
    if($line)
    {
        $urlcs.='&line='.$line;
    }
    $tempid=(int)$_GET['tempid'];
    if($tempid)
    {
        $urlcs.='&tempid='.$tempid;
    }
    if($_GET['orderby'])
    {
        $orderby=RepPostVar($_GET['orderby']);
        $myorder=(int)$_GET['myorder'];
        $urlcs.='&orderby='.$orderby.'&myorder='.$myorder;
    }
    //间隔字符
    $fieldexpr=explode('|',$fieldexp);
    $valexpr=explode('|',$valexp);
    //输出选项
    $fr=explode(',',$fieldandvar);
    $fcount=count($fr);
    $allstr='';
    $urladd='';
    for($i=0;$i<$fcount;$i++)
    {
        $field=$fr[$i];
        //选项链接
        $getval='';
        if($_GET[$field])
        {
            $getval=$userfunecmsver==1?ehtmlspecialchars($_GET[$field],ENT_QUOTES):htmlspecialchars($_GET[$field],ENT_QUOTES);
            $urladd.='&'.$field.'='.urlencode($getval);
        }
        //选项说明
        $vsayr=explode('|==|',$fieldandval[$field]);
        //选项内容
        $valallstr='';
        $vr=explode('##',$vsayr[1]);
        $vcount=count($vr);
        for($vi=0;$vi<$vcount;$vi++)
        {
            $vtr=explode(',',$vr[$vi]);
            if($getval==$vtr[1])
            {
                $css=$changefieldandcss;
            }
            else
            {
                $css=$fieldandcss;
            }
            $valallstr.=$valexpr[0].'<a href="'.$public_r['newsurl'].'e/action/ListInfo.php?'.$urlcs.'&ph=1<!--url.add-->&'.$field.'='.urlencode($vtr[1]).'" class="'.$css.'">'.$vtr[0].'</a>'.$valexpr[1];
        }
        $allstr.=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1];
    }
    $allstr=str_replace('<!--url.add-->',$urladd,$allstr);
    echo $allstr;
}
代码中有几个属性注意一下。
3、然后从前台想要添加筛选的位置添加下方代码
<?=user_ShowFieldandChange()?>
就是非常简单的引用userfun.php文件中写的函数名即可。
4、弄完之后就是下方的效果了。

帝国cms教程:结合项开发分类筛选的操作方法
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。