Dedehtml.com

织梦精准搜索自定义字段搜索证书查询

摘要:不使用高级搜索,2个文件实现织梦精准搜索教程,自定义字段搜索,织梦证书查询教程

非常适合想要做证书查询和精准搜索的小伙伴,支持按自定义字段搜索,支持搜索结果页直接用标签调用自定义字段的值,新增文件的方式,不与程序任何文件冲突。

第一种方式

1、普通文章 内容模型 添加你要查询的自定义字段

例如我的是 zs sf xm

2、前台模板搜索框代码

<form  method="post" action="/plus/so.php" >
	<div id="search_box">   
		<p>证书编号:<input type="text" name="zs" value="" /></p>
		<p>证件号码:<input type="text" name="sf" value="" /></p>
		<p>姓  名:<input type="text" name="xm" value=""  /></p>
		<p class="exp">注:以上三项需全部输入即可查询。</p>
		<input type="submit" name="submit" value="开始搜索"  />
	</div>
</form>

注意name的字段名改成你自己的

3、在 /plus/ 新建一个 so.php 文件

<?php
/*
 * 织梦普通文章模型精准搜索自定义字段
 * @param       string $zs	证书编号
 * @param       string $sf	证件号码
 * @param       string $xm	姓名
 * @return      so.htm
 */
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC.'/datalistcp.class.php');
if($zs == '')
{
	ShowMsg('证书编号不能为空!','-1');
    exit();
}
if($sf == '')
{
	ShowMsg('证件号码不能为空!','-1');
    exit();
}
if($xm == '')
{
	ShowMsg('姓名不能为空!','-1');
    exit();
}
$sql = "SELECT arc.*,addf.* FROM `#@__archives` arc LEFT JOIN `#@__addonarticle` addf ON arc.id=addf.aid WHERE arc.arcrank>-1 AND addf.zs = '$zs' AND addf.sf = '$sf' AND addf.xm = '$xm'";
$dlist = new DataListCP();
$dlist->SetTemplate($cfg_basedir . $cfg_templets_dir . "/" . $cfg_df_style. "/so.htm");
$dlist->SetSource($sql);
$dlist->display();

里面的 zs sf xm 每个都有4处,改成你自己的

4、你的模板文件夹里添加1个 so.htm 模板文件

例如 /templets/default/so.htm

<div>
{dede:datalist}
	<p>图片:{dede:field.litpic /}</p>
	<p>姓名:{dede:field.xm /}</p>
	<p>身份:{dede:field.sf /}</p>
	<p>编号:{dede:field.zs /}</p>
	<p>内容:{dede:field.body /}</p>
{/dede:datalist}
</div>

第二种:文件打包下载(gbk / utf8)

链接: https://pan.baidu.com/s/1vdNGOwGCDqOYhcDnFqUNCA 密码: ffen

第二种:使用说明

1、选择跟你程序对应编码的文件夹,把里面的2个文件夹里的

  • /include/arc.zhengshuview.class.php
  • /plus/zhengshu.php

这2个文件上传到你网站对应的目录下

2、在前端模板的搜索框代码写法例子如下

<form action="/plus/zhengshu.php" method="get">
    <input type="hidden" name="pagesize" value="1">
    <input type="hidden" name="channeltype" value="这里填你的模型ID号"/>
    <p>
        <label>姓  名:</label>
        <input type="text" name="title"/>
    </p>
    <p>
        <label>身份证号:</label>
        <input type="text" name="shenfenzheng"/>
    </p>
    <p>
        <label>证书编号:</label>
        <input type="text" name="bianhao"/>
    </p>
    <p>
        <input type="submit" value="搜索"/>
    </p>
</form>

【上面特别说明】

红色的代码必须要的,

pagesize是搜索结果页每页显示几个数据,一般精准搜索都是1个,

channeltype里填你要搜索的模型ID号

绿色的代码是要搜索的字段,系统字段标题(title)和自定义字段(shenfenzheng,bianhao...)都可以

3、搜索结果模板名为:zhengshu.htm

自己建一个放到自己的网站模板目录里

例如我的

<table width="100%" class="table">  
	<caption>  
		<h2>查询结果</h2>  
	</caption>  
	<thead>  
		<tr>  
			<th>  
				证书编号  
			</th>  
			<th>  
				身份证号  
			</th>  
			<th>  
				姓名  
			</th>  
			<th>
				证书类型
			</th>
			<th>
				公司名称
			</th>
			<th>
				所属企业
			</th>
			<th>
				所属领域
			</th>
			<th>
				有效期
			</th>
			<th>
				状态
			</th>
		</tr>  
	</thead>
	{dede:list titlelen='250'}
	<tr>
		<td>
			[field:bianhao/]
		</td>
		<td>
			[field:shenfenzheng/]
		</td>
		<td>
			[field:title/]
		</td>
		<td>
			[field:leixing/]
		</td>
		<td>
			[field:gongsimingcheng/]
		</td>
		<td>
			[field:qiye/]
		</td>
		<td>
			[field:lingyu/]
		</td>
		<td>
			[field:youxiaoqi/]
		</td>
		<td>
			[field:zhuangtai/]
		</td>
	</tr>
	{/dede:list}
	<tr>
		<td colspan="9">
			{dede:pagelist listsize=1 runphp=yes}
			@me = (empty(@me) ? "<p style='color:#f00;'>没有相关记录</p>" : ""); 
			{/dede:pagelist}
		</td>
	</tr>
</table>
版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/dede-search-addfileds.html
(16)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏