织梦默认的高级搜索,就是这个页面/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("#[\|\"\r\n\t%\*\?\(\)\$;,'%<>]#", "", 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();
}
如果模板上不显示自定义字段,可以在网上搜索下解决方案