帝国cms结合项列表属性筛选最详细教程
1、首先把这个代码翱务校肢复制到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;}?>


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

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

