用织梦做医院网站首页的症状导诊时候,需要用到织梦联动类别联动枚举结合织梦搜索查询实现查询数据。效果图如下:
症状和病情描述是后台联动类别管理里添加的一级、二级选择
织梦联动类别搜索功能实现步骤:
具体步骤如下:
1、在文章模型里添加自定义字段:nativeplace,字段类型为联动类型,根据你的联动类别名称来添加,类似下面的添加方法:
2.增加一个文件:include/arc.plugin_listview.class.php
具体代码见附件中对应的文件(解压附件--查找到附件中该路径下的文件即可,下面方法同。太傻瓜的提示步骤了,嘿嘿)
3.在plus/list.php中引入arc.plugin_listview.class.php插件文件(代码大概放在22行)
<?php /** * * 栏目列表/频道动态页 * * @version $Id: list.php 1 15:38 2010年7月8日Z tianya $ * @package DedeCMS.Site * @copyright Copyright (c) 2007 - 2010, DesDev, Inc. * @license http://help.dedecms.com/usersguide/license.html * @link http://www.dedecms.com */ require_once(dirname(__FILE__)."/../include/common.inc.php"); //$t1 = ExecTime(); $tid = (isset($tid) && is_numeric($tid) ? $tid : 0); $channelid = (isset($channelid) && is_numeric($channelid) ? $channelid : 0); if($tid==0 && $channelid==0) die(" Request Error! "); if(isset($TotalResult)) $TotalResult = intval(preg_replace("/[^\d]/", '', $TotalResult)); //自定义字段搜索开始 $Query_String = $_SERVER['QUERY_STRING']; $cArr = array(); $prams = explode('&', $Query_String); foreach($prams as $key => $value){ $item_prams = explode('=', $value); if($item_prams[0] != 'tid') $cArr[$item_prams[0]] = urldecode($item_prams[1]); } if(count($cArr) > 0 ){ require_once DEDEINC."/arc.plugin_listview.class.php"; $lv = new PluginListView($tid,$cArr); if($lv->IsError) ParamError(); $lv->Display(); exit(); } //自定义字段搜索结束 // // //如果指定了内容模型ID但没有指定栏目ID,那么自动获得为这个内容模型的第一个顶级栏目作为频道默认栏目 if(!empty($channelid) && empty($tid)) { $tinfos = $dsql->GetOne("SELECT tp.id,ch.issystem FROM `dede_arctype` tp LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype WHERE tp.channeltype='$channelid' And tp.reid=0 order by sortrank asc"); if(!is_array($tinfos)) die(" No catalogs in the channel! "); $tid = $tinfos['id']; } else { $tinfos = $dsql->GetOne("SELECT ch.issystem FROM `dede_arctype` tp LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype WHERE tp.id='$tid' "); } if($tinfos['issystem']==-1) { $nativeplace = ( (empty($nativeplace) || !is_numeric($nativeplace)) ? 0 : $nativeplace ); $infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype ); if(!empty($keyword)) $keyword = FilterSearch($keyword); $cArr = array(); if(!empty($nativeplace)) $cArr['nativeplace'] = $nativeplace; if(!empty($infotype)) $cArr['infotype'] = $infotype; if(!empty($keyword)) $cArr['keyword'] = $keyword; include(DEDEINC."/arc.sglistview.class.php"); $lv = new SgListView($tid,$cArr); } else { include(DEDEINC."/arc.listview.class.php"); $lv = new ListView($tid); //对设置了会员级别的栏目进行处理 if(isset($lv->Fields['corank']) && $lv->Fields['corank'] > 0) { require_once(DEDEINC.'/memberlogin.class.php'); $cfg_ml = new MemberLogin(); if( $cfg_ml->M_Rank < $lv->Fields['corank'] ) { $dsql->Execute('me' , "SELECT * FROM `dede_arcrank` "); while($row = $dsql->GetObject('me')) { $memberTypes[$row->rank] = $row->membername; } $memberTypes[0] = "游客或没权限会员"; $msgtitle = "你没有权限浏览栏目:{$lv->Fields['typename']} !"; $moremsg = "这个栏目需要 <font color='red'>".$memberTypes[$lv->Fields['corank']]."</font> 才能访问,你目前是:<font color='red'>".$memberTypes[$cfg_ml->M_Rank]."</font> !"; include_once(DEDETEMPLATE.'/plus/view_msg_catalog.htm'); exit(); } } } if($lv->IsError) ParamError(); $lv->Display();
具体可以参考附件中的相关文件。
4.在include\taglib目录下 增加一个解析文件,newinfolink.lib.php
5、修改/images/enums.js这个文件
6、具体的调用可以参考附件中的模板文件\templets\default\index.htm查看具体调用方法
织梦联动类别联动筛选搜索查询功能演示案例地址:http://leibie1.lala8.cn
如果需要添加超过132个以上一级类别,请参考《织梦联动枚举字段添加一级分类如果超过132个自动变成二级修复教程》,如果无法添加联动类别二级枚举,请参考《织梦联动类别无法添加二级枚举解决方法》
织梦联动类别联动筛选搜索具体实现教程,请下载附件,里面写好详细教程,新手也能按教程做出来。
附件下载地址:
https://pan.baidu.com/s/1jKxk-hPlSFq25me2Ga3TAQ
咨询本站站长QQ:862782808(点击QQ号即可直接咨询)获得
插件下载说明
未提供下载提取码的插件,都是站长辛苦开发,联系客服或站长有偿获得!
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦联动类别联动筛选搜索查询功能插件