织梦默认的高级搜索,就是这个页面/plus/advancedsearch.PHP,他是模糊搜索.而且会出现多条结果,需要修改为单条信息搜索.

后台,核心,模型管理,在原模型或新建立的模型中,增加字段.比如增加身份证字段.

然后返回模型管理,找到模型后面的放大镜图标,点击一下.如下图.

 

下面模板选择,默认是利用官方默认模板中的advancedsearch.htm 模板

点击确定后,就会自动出现搜索代码.

还需要修改plus/advancedsearch.php 这个文件.

大约在142行. 如下为修改后的效果.就是把模糊查询为精准查询.并增加一个不为空的判断.
 

01 if(isset(${$var}) && trim(${$var})!='')
02            {
03                ${$var} = stripslashes(${$var});
04                ${$var} = preg_replace("#[\|\"\r\n\t%\*\?\(\)\$;,'%<>]#", "", trim(${$var}));
05                ${$var} = addslashes(${$var});
06                //$where .= " AND addon.$var LIKE '%${$var}%'";
07                $where .= " AND addon.$var = '${$var}'";
08            }
09            else{
10            ShowMsg('身份证不能为空,或输入不正确',-1,0);exit;}

向下.

在下面这几行的下面增加.

1 else
2 {
3     $sql = urldecode($sql);
4     $query = $sql;
5 }

增加如下代码,下面是修改后的效果

01 else
02 {
03     $sql = urldecode($sql);
04     $query = $sql;
05 }
06 //print_r($sql);exit;
07 $searchinfo2 = $dsql->GetOne($sql);
08 if(!is_array($searchinfo2))
09 {
10     showmsg('查询的信息不存在,请检查输入','-1');
11     exit();
12 }

如果模板上不显示自定义字段,可以在网上搜索下解决方案

THE END

非特殊说明,本博所有文章均为博主原创

如若转载,请注明出处:https://www.htmlbk.com/dedecms/516.html