如果你经常上58同城、赶集网、百姓网等分类信息网站时,在茫茫信息中你怎么可以准确的找到自己所需要的信息,这时我们就用到网站提供的筛选功能,从而快速便捷的找到所需要的信息范围。在我们建站中,这个筛选功能经常用到,下面我们以58同城网的租房栏目列表筛选为例,详细讲解帝国cms结合项列表属性筛选功能。
步骤/方法
先看图:
一、建立字段
可以看到租房栏目列表筛选用到了4个字段:“区域”、“租金”、“厅室”、“方式”。
备注:字段类型,都选择字符型0-255字节,有时候会因为字段类型选错而不正常。
(1)字段“区域”的值为:“全鞍山”、“铁东”、“铁西”、“立山”、“千山”、“其他”,字段设置如下图:
(2)字段“租金”的值为:“不限”、“500元以下”、“500-1000元”、“1000-1500元”、“1500-2000元”、“2000-3000元”、“3000-4500元”、“4500元以上”,字段设置如下图:
(3)字段“厅室”的值为:“不限”、“一室”、“两室”、“三室”、“四室”、“四室以上”,字段设置如下图:
(4)字段“方式”的值为:“整套出租”、“单间出租”、“床位”,字段设置如下图:
二、安装修改插件
下载帝国cms官方结合项列表属性筛选插件,然后打开“fieldand.txt”文件,将文件里的所有内容复制到 /e/class/userfun.php 文件里(放在<?php和?>之间任意位置);(推荐用Dreamweaver或Editplus等编辑工具修改)
先在要显示的结合项字段列表,把 “$fieldandvar='myarea,sex,age';”改成“$fieldandvar='quyu,zujin,tingshi,fangshi';”,这是我们需要的显示的4个字段列表。
接着我们用4种颜色来表示各字段代码的区域,从而直观的分析他们共同代码点,如下图(2-1):
由上图得到 字段与字段的显示间隔符 "$fieldexp='<dl class="secitem">|</dd></dl>';"。
然后根据格式:"选项说明|==|内容1,值1##内容2,值2"进行分析:
最后得到修改后的图:
根据代码“<a href="/zufang/" class='select'>全鞍山</a>”得到 已选的选项链接样式 “$changefieldandcss='select';”。
根据上图(2-1)结合 选项与选项的显示间隔符格式:开始显示字符|结束显示字符 得到 “$valexp='';”。
修改好的插件代码如图:
备注:内容和值填写相同内容就可以,有时候内容和值不相同时,会不正常筛选。
三、在前台模板中调用结合项代码
(1)在模板中需要显示结合项列表的地方,添加如下代码调用:
<?=user_ShowFieldandChange()?>
样式如下:
<style>
.fieldandcss{}
.changefieldandcss{background:#4598D2;color:#fff;}
</style>
(2)之后结合项栏目是动态栏目,结合项筛选样式如下:
(3)列表页和内容页调用结合项的字段,直接用字段名就可以,例如:区域:[!--quyu--]
点击“区域”的“铁东”效果如下:
接着点击“租金”的“500元以下”效果如下:
ok,测试没有问题,这一讲就到此。
END
注意事项
(1)代码无误,但是筛选后并没有起作用的原因是系统模型相应字段的结合项没有打上勾。
(2)筛选时提示“你来自的连接不存在”是因为地址栏没有指定“&classid=栏目ID” 。
(3)结合项如果用复选框,系统模型的结合项选择模糊匹配
(4)如果网站中有多个栏目有不同的结合项筛选,可以把/e/class/userfun.php中的函数多复制几个,并且重命名函数。在不同函数中添加不同的结合项字段,之后在不同的栏目模板中调用这些函数,就可以了。