78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

帝国cms列表属性筛选详细教程

帝国cms结合项列表属性筛选最详细教程

第一、把这个代码复制到e/class/userfun.php 里面去:

<?php
//—————————用户自定义标签函数文件
//显示结合项筛选选项
function user_ShowFieldandChange($val,$fieldandvar,$fieldandcss,$changefieldandcss,$fieldexp,$valexp,$val3,$ecms=0){
global $public_r,$navclassid;
$fieldandval=$val;
$fieldandvart=$fieldandvar;
$fieldandvar=str_replace(‘#’,’,’,$fieldandvar);
//附加参数
$urlcs=”;
$mid=(int)$_GET[‘mid’];
if($mid)
{
$urlcs.=’&mid=’.$mid;
}
if($_GET[‘classid’])
{
$classid=RepPostVar($_GET[‘classid’]);
$urlcs.=’&classid=’.$classid;
}
else
{
$urlcs.=’&classid=’.$navclassid;
}
if($_GET[‘ttid’])
{
$ttid=RepPostVar($_GET[‘ttid’]);
$urlcs.=’&ttid=’.$ttid;
}
if($_GET[‘ztid’])
{
$ztid=RepPostVar($_GET[‘ztid’]);
$urlcs.=’&ztid=’.$ztid;
}
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);
//上下级
$frt=explode(‘,’,$fieldandvart);
$ftcount=count($frt);
//输出选项
$fr=explode(‘,’,$fieldandvar);
$fcount=count($fr);
$allstr=”;
foreach ($_GET as $key=>$val){                if($val && in_array($key, $fr)){                        $url_this=$key.’=’.urlencode($val);                        $url=str_replace($url_this,”,$_SERVER[REQUEST_URI]);                        $tj=’已选择条件:’;                        $yixuan.='<a class="del_jhx" href="’.$url.’">’.$val.’x</a> ‘;                                }        }        echo $tj.$yixuan;
$urladd=”;
for($i=0;$i<$fcount;$i++)
{   $nofield="";
$field=$fr[$i];
for($ti=0;$ti<$ftcount;$ti++)
   {
$frtval=explode(‘#’,$frt[$ti]);
if($field==$frtval[0]){$nofield="&".$frtval[1]."=";}
}
//选项链接
$getval=”;
if($_GET[$field])
{
$getval=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="/e/action/ListInfo.php?’.$urlcs.’&ph=1<!–url.add–>&’.$field.’=’.urlencode($vtr[1]).$nofield.’" class="’.$css.’">’.$vtr[0].'</a>’.$valexpr[1];
}
//自定义样式 实现二级自定义样式
if($val3[$field]!="")
{
$fieldexpr2=explode(‘|’,$val3[$field]);
$allstr[$i]=$fieldexpr2[0].$vsayr[0].$valallstr.$fieldexpr2[1];
}
else
{
$allstr[$i]=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1];
}
//清空没有数据的行
if($vcount==1){$allstr[$i]="";}
}
$allstr=str_replace(‘<!–url.add–>’,$urladd,$allstr);
return $allstr;
}
?>

二、然后把这个代码放到分类筛选列表模板里面:

<?php
        $GET=$_GET;
    //——- 函数参数设置开始 —–
    //要显示的结合项字段列表,多个字段用半角逗号“,”隔开 如果是二级关系用 “#”
    $fieldandvar=’quyu,ftitle,jiage’;
    //正常链接样式
    $fieldandcss=’fieldandcss’;
    //已选的选项链接样式
    $changefieldandcss=’changefieldandcss’;
    //字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
    $fieldexp='<table><tr><td>|</td></tr></table>’;
    //选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
    $valexp=’| ‘;
    //字段显示选项设置,多项用“|”号隔开,格式:选项说明|==|内容1,值1|内容2,值2
        $val=array();
    $val2=array();
    $val3=array();
    $val[‘quyu’]='<b>区域:</b>|==|老城,老区|新区,新区’;
    $val[‘ftitle’]='<b>户型:</b>|==|三室一厅,三室一厅|三室两厅,三室两厅|两室一厅,两室一厅’;
    $val[‘jiage’]='<b>价格:</b>|==|50,50|40,40|30,30′;
    $val3[‘jiage’]='<div class="gzw">|</div>’;
$val3[‘quyu’]='<div class="gzw">|</div>’;
$val3[‘ftitle’]='<div class="gzw">|</div>’;
    $g=user_ShowFieldandChange($val,$fieldandvar,$fieldandcss,$changefieldandcss,$fieldexp,$valexp,$val3);
?>
<?=$g[0]?>
<?=$g[1]?>
<?=$g[2]?>
<?=$g[3]?>
<?=$g[4]?>

源码.jpg 帝国cms列表属性筛选详细教程  第1张

这是后台对应的字段,一定要对应你的后台

源码2.jpg 帝国cms列表属性筛选详细教程  第2张

这个的原理其实就是判断你这个字段里面是不是有这个文字,从而达到筛选的目的

源码3.jpg 帝国cms列表属性筛选详细教程  第3张

这个是对应的样式,可以通过class进行样式控制

源码4.jpg 帝国cms列表属性筛选详细教程  第4张

这个是必须要加的,原理的话我也不清楚,反正不加是不显示的

源码5.jpg 帝国cms列表属性筛选详细教程  第5张

这里是控制筛选的,效果如下

源码6.jpg 帝国cms列表属性筛选详细教程  第6张

源码7.jpg 帝国cms列表属性筛选详细教程  第7张

本文链接:http://78moban.cn/post/11946.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部