位置:深圳网站建设 > 资讯中心 > CMS资讯 >

织梦dedecms联动筛选功能实现方法

网站经常会用到联动筛选搜索功能,先看看实现的效果图:



下面看织梦dedecms联动筛选功能是怎么制作的:

1:系统→系统基本参数→其他选项,去掉模板引擎禁用标签的php。

2:核心→频道模型(内容模型)→普通文章,增加一些联动字段。

3:下载并替换arc.listview.class.php,extend.func.php 文件。
百度网盘下载链接:http://pan.baidu.com/s/1bpAns7t 密码:r2vp

替换之前请先备份\include\arc.listview.class.php,\include\extend.func.php 这两个文件,以防万一。

要是你之前有修改过这arc.listview.class.php文件,直接复制下面的代码粘贴到你的arc.listview.class.php文件中

if(empty($$cfg_need_typeid2)) $$cfg_need_typeid2 = 'N'; 下面(大约147行)

//获得附加表的相关信息!!此段为添加内容!! www.mz211.com 联动筛选功能
$$addtable = $$this->ChannelUnit->ChannelInfos['addtable'];
if($$addtable!="")
{
$$addJoin = " LEFT JOIN `$$addtable` ON arc.id = ".$$addtable.'.aid ';
$$addField = '';
$$fields = explode(',',$$this->ChannelUnit->ChannelInfos['listfields']);
foreach($$fields as $$k=>$$v)
{
$$nfields[$$v] = $$k;
}
if(is_array($$this->ChannelUnit->ChannelFields) && !empty($$this->ChannelUnit->ChannelFields))
{
foreach($$this->ChannelUnit->ChannelFields as $$k=>$$arr)
{
if(isset($$nfields[$$k]))
{
if(!empty($$arr['rename'])) {
$$addField .= ','.$$addtable.'.'.$$k.' as '.$$arr['rename'];
}
else {
$$addField .= ','.$$addtable.'.'.$$k;
}
}
}
}
if (isset($$_REQUEST['tid']))
{
foreach($$_GET as $$key => $$value) {
$$filtersql .= ($$key!="tid" && $$key!="TotalResult" && $$key!="PageNo") ? " AND $$addtable.".wwwcms_filter($$key)." = '".wwwcms_filter(urldecode($$value))."'" : '';
}
}
}
else
{
$$addField = '';
$$addJoin = '';
}
//添加内容结束!!!www.mz211.com 联动筛选功能

4:上面3步做好了,就可以直接再前端模板调用了。

列表调用方法:

{dede:php}AddFilter(模型ID,类型,"字段1,字段2,字段3");{/dede:php}

例如:{dede:php}AddFilter(17,1,"area,date,price");{/dede:php}

首页调用方法:

{dede:php}AddFilter(模型ID,类型,"字段1,字段2,字段3",栏目id);{/dede:php}

内容页调用方法:

{dede:php}AddFilter(模型ID,类型,"字段1,字段2,字段3",栏目id,1);{/dede:php}

主营业务:

名匠网络有多年的网站建设小程序开发SEO优化实战经验,帮助客户打造营销型网站,快速提升网站关键词排名,抢占搜索引擎流量,提高网站转化率,为客户带来更多的订单。

联系方式:
QQ:360764540
微信:jun360764540
  • 最新
  • 推荐
  • 热门