织梦默认的高级搜索,就是这个页面/plus/advancedsearch.PHP,他是模糊搜索.而且会出现多条结果,需要修改为单条信息搜索.
后台,核心,模型管理,在原模型或新建立的模型中,增加字段.比如增加身份证字段.
然后返回模型管理,找到模型后面的放大镜图标,点击一下.如下图.
?
下面模板选择,默认是利用官方默认模板中的advancedsearch.htm?模板
点击确定后,就会自动出现搜索代码.
还需要修改plus/advancedsearch.php?这个文件.
大约在142行.?如下为修改后的效果.就是把模糊查询为精准查询.并增加一个不为空的判断.
1
2
3
4
5
6
7
8
9
10
|
if(isset(${$var})?&&?trim(${$var})!='')
???{
???${$var}?=?stripslashes(${$var});
???${$var}?=?preg_replace("#[|"rnt%*?()$;,'%<>]#",?"",?trim(${$var}));
???${$var}?=?addslashes(${$var});
???//$where?.=?"?AND?addon.$var?LIKE?'%${$var}%'";
???$where?.=?"?AND?addon.$var?=?'${$var}'";
?????}
???else{
???ShowMsg('身份证不能为空,或输入不正确',-1,0);exit;}
|
?
向下.
在下面这几行的下面增加.
1
2
3
4
5
|
else
{
????$sql?=?urldecode($sql);
????$query?=?$sql;
}
|
增加如下代码,下面是修改后的效果
1
2
3
4
5
6
7
8
9
10
11
12
|
else
{
????$sql?=?urldecode($sql);
????$query?=?$sql;
}
//print_r($sql);exit;
$searchinfo2?=?$dsql->GetOne($sql);
if(!is_array($searchinfo2))
{
????showmsg('查询的信息不存在,请检查输入','-1');
????exit();
}
|
如果模板上不显示自定义字段,可以在网上搜索下解决方案