您当前的位置:首页 > 帝国CMS> 帝国cms结合项列表属性实现分类信息筛选实例(总结用)

帝国cms结合项列表属性实现分类信息筛选实例(总结用)

来源:原创    作者:小汪    时间:2014-11-06   文章已被浏览:

你经常上58同城、赶集网、百姓网等分类信息网站时,在茫茫信息中你怎么可以准确的找到自己所需要的信息,这时我们就用到网站提供的筛选功能,从而快速便捷的找到所需要的信息范围。在我们建站中,这个筛选功能经常用到,下面我们以58同城网的租房栏目列表筛选为例,详细讲解帝国cms结合项列表属性筛选功能。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 1.效果图J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

01.jpgJ63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

2.建立字段J63 武汉seo web前端工程师 -微创意

建立字段可以看到租房栏目列表筛选用到了4个字段:“区域”、“租金”、“厅室”、“方式”。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

3.字段建立方法 (输入表单显示元素可以选择 单选框)
J63 武汉seo web前端工程师 -微创意

(1)字段“区域”的值为:“全鞍山”、“铁东”、“铁西”、“立山”、“千山”、“其他”,字段设置如下图: (其他依旧如此即可)J63 武汉seo web前端工程师 -微创意

02.jpgJ63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

(2)字段“租金”的值为:“不限”、“500元以下”、“500-1000元”、“1000-1500元”、“1500-2000元”、“2000-3000元”、“3000-4500元”、“4500元以上”,字段设置如下图:J63 武汉seo web前端工程师 -微创意

(3)字段“厅室”的值为:“不限”、“一室”、“两室”、“三室”、“四室”、“四室以上”,字段设置如下图:J63 武汉seo web前端工程师 -微创意

(4)字段“方式”的值为:“整套出租”、“单间出租”、“床位”,字段设置如下图:J63 武汉seo web前端工程师 -微创意

4.安装修改插件下载帝国cms官方结合项列表属性筛选插件 (点击此处下载插件J63 武汉seo web前端工程师 -微创意

 然后打开“fieldand.txt”文件,将文件里的所有内容复制到 /e/class/userfun.php 文件里(放在<?php和?>之间任意位置);(推荐用Dreamweaver或Editplus等编辑工具修改)先在要显示的结合项字段列表,把 “$fieldandvar='myarea,sex,age';”改成“$fieldandvar='quyu,zujin,tingshi,fangshi';”,这是我们需要的显示的4个字段列表。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

5.修改好的插件代码如图:J63 武汉seo web前端工程师 -微创意

03.jpgJ63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

J63 武汉seo web前端工程师 -微创意

6、修改模板,在要结合项属性筛选的地方加上如下代码:J63 武汉seo web前端工程师 -微创意

    <?=user_ShowFieldandChange()?>J63 武汉seo web前端工程师 -微创意

 J63 武汉seo web前端工程师 -微创意

 CSS文件里定义:(定义正常链接样式和已选链接样式)J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意

   .fieldandcss{}J63 武汉seo web前端工程师 -微创意

   .changefieldandcss{background:#4598D2;color:#fff;}J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

  更新相应页面。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

/*官方步骤如下*/J63 武汉seo web前端工程师 -微创意

J63 武汉seo web前端工程师 -微创意

********************     安装插件     ********************J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 1、打开“fieldand.txt”文件,将文件里的所有内容复制到 /e/class/userfun.php 文件里(放在<?php和?>之间任意位置);(推荐用Dreamweaver或Editplus等编辑工具修改)J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 2、插件安装完毕。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 ********************     卸载插件     ********************J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 1、打开 /e/class/userfun.php 文件,将user_ShowFieldandChange结合项筛选函数代码删除即可;(推荐用Dreamweaver或Editplus等编辑工具修改)J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 2、插件卸载完毕。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 ********************     插件使用     ********************J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 1、插件参数配置可修改 /e/class/userfun.php 文件中user_ShowFieldandChange函数的以下配置:(推荐用Dreamweaver或Editplus等编辑工具修改)J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意

     //------- 函数参数设置开始 -----J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

//要显示的结合项字段列表,多个字段用半角逗号“,”隔开
$fieldandvar='myarea,sex,age';
//字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2
$fieldandval=array();
$fieldandval['myarea']='<b>地区:</b>|==|不限,##东城,东城区##朝阳,朝阳区##崇文,崇文区##宣武,宣武区##海淀,海淀区##丰台,丰台区';
$fieldandval['sex']='<b>性别:</b>|==|不限,##男,男##女,女##人妖,人妖';
$fieldandval['age']='<b>年龄:</b>|==|不限,##1-10,1__10##11-20,11__20##21-30,21__30##31-40,31__40##41-50,41__50##50岁以上,51__200';
//正常链接样式
$fieldandcss='fieldandcss';
//已选的选项链接样式
$changefieldandcss='changefieldandcss';
//字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
$fieldexp='<table><tr><td>|</td></tr></table>';
//选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
$valexp='| ';


J63 武汉seo web前端工程师 -微创意

     //------- 函数参数设置结束 -----J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 2、修改模板,在要结合项属性筛选的地方加上如下代码:J63 武汉seo web前端工程师 -微创意

    <?=user_ShowFieldandChange()?>J63 武汉seo web前端工程师 -微创意

 J63 武汉seo web前端工程师 -微创意

 3、CSS文件里定义:(定义正常链接样式和已选链接样式)J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意

   .fieldandcss{}J63 武汉seo web前端工程师 -微创意

   .changefieldandcss{background:#4598D2;color:#fff;}J63 武汉seo web前端工程师 -微创意

    ---------------------------J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

 4、更新相应页面。J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意


J63 武汉seo web前端工程师 -微创意

自己写好的php文件内容如下J63 武汉seo web前端工程师 -微创意

J63 武汉seo web前端工程师 -微创意

<?php
//---------------------------用户自定义标签函数文件
//显示结合项筛选选项
function user_ShowFieldandChange($ecms=0){
global $public_r;
//------- 函数参数设置开始 -----
//要显示的结合项字段列表,多个字段用半角逗号“,”隔开
$fieldandvar='quyu,zujin,tingshi,fangshi';
//字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2
$fieldandval=array();
$fieldandval['quyu']='<dt>区域:</dt><dd>
|==|不限,##全鞍山,全鞍山##铁东,铁东##铁西,铁西##立山,立山##千山,千山';
$fieldandval['zujin']='<dt>租金:</dt><dd>
|==|不限,##500元以下,1__499##500-1000元,500__999##1000-1500元,1000__1499##1500-2000元,
1500__1999##2000-3000元,2000_2999##3000-4500元,3000__4499##4500元以上,4500__99999999';
$fieldandval['tingshi']='<dt>厅室:</dt><dd>
|==|不限,##一室,一室##两室,两室##三室,三室##四室,四室##四室以上,四室以上';
$fieldandval['fangshi']='<dt>方式:</dt><dd>
|==|不限,##整套出租,整套出租##单间出租,单间出租##床位,床位';
//正常链接样式
$fieldandcss='fieldandcss';
//已选的选项链接样式
$changefieldandcss='select';
//字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
$fieldexp='<dl class="secitem">|</dd></dl>';
//选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
$valexp=" |";
//------- 函数参数设置结束 -----
//附加参数
$urlcs='';
$mid=(int)$_GET['mid'];
if($mid)
{
$urlcs.='&mid='.$mid;
}
if($_GET['classid'])
{
$classid=RepPostVar($_GET['classid']);
$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['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=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;
}
?>



J63 武汉seo web前端工程师 -微创意



J63 武汉seo web前端工程师 -微创意

来顶一下
返回首页
返回首页

联系QQ:

联系QQ:

咨询电话:18963998535

微信

扫描加我为好友

姓 名:

邮 箱:

互 动: