西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

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

时间:2016-12-06 08:32来源:未知 作者:好模板编辑 点击:
织梦dedecms联动筛选功能的实现方法 。 1、需要修改2个php文件,arc.listview.class.php和extend.func.php,这2个文件都是存在于/include/下,提供一个网盘下载地址:http://pan.baidu.com/s/1pJLmEIf 如果你没

织梦dedecms联动筛选功能的实现方法 。
1、需要修改2个php文件,arc.listview.class.php和extend.func.php,这2个文件都是存在于/include/下,提供一个网盘下载地址:http://pan.baidu.com/s/1pJLmEIf

如果你没看懂,或者直接不想动手操作,你可以在线留言,我会及时为你解决。

修改的代码如下:
//获得附加表的相关信息!!此段为添加内容!!!by scv dedecms 联动筛选功能 
        $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 = '';
        }
        //添加内容结束!!!by scv dedecms 联动筛选功能
2、extend.func.php 在其最后面增加如下代码:

织梦dedecms联动筛选功能的实现方法
织梦dedecms联动筛选功能的实现方法
织梦dedecms联动筛选功能的实现方法
 
特别注意:代码复制后需要自己手动去掉上面代码中的两处【分隔符】。
PHP文件部分就OK了!接下来就自定义模型了。自定义模型之前,我先让你们看看最终效果:

  • 类别:全部 OTC 中药
  • 按病种:全部 感冒 发热 肺热 麻疹  
  • 用法:全部 外用 口服
这个里面的 类别 病种 用法在内容模型管理里面自定义字段就行了。
这里需要注意的就是字段的类型如下图所示:
织梦dedecms联动筛选功能的实现方法
织梦dedecms联动筛选功能的实现方法
最后一步 模板调用:
{dede:php}AddFilter(17,1,'leibie,bingzhong,yongfa');{/dede:php}
解释一下 AddFilter(17,1,'leibie,bingzhong,yongfa')

其中的 17就是 频道ID,后面括号的是自定义的字段名称。

好了,到此结束,就这么简单,如果你还没没看懂,请留言给我。

祝你成功!
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容