织梦搜索实现标题完全精准搜索方法_dedecms教程
织梦搜索实现标题完全精准搜索,就是搜索文档标题必须一模一样才有搜索结果
实现教程
1、在 /plus/ 新建一个 so.php 文件
<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); require_onceDEDEINC."/arc.partview.class.php"; if($title=='') { ShowMsg('关键字不能为空!','-1'); exit(); } $row=$dsql->GetOne("SELECTidFROM`dede_archives`WHEREtitle='$title'"); if(is_array($row)) { $chRow=$dsql->GetOne("SELECTc.addtableFROMdede_archivesASaLEFTJOINdede_channeltypeAScONa.channel=c.idwherea.id='{$row['id']}'"); $addtable=trim($chRow['addtable']); $result=$dsql->GetOne("SELECTarc.*,addf.*FROM`dede_archives`arcLEFTJOIN`{$addtable}`addfONarc.id=addf.aidWHEREarc.arcrank>-1ANDarc.id='{$row['id']}'"); $pv=newPartView(); foreach($resultas$k=>$v) { $pv->Fields[$k]=$v; } $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/so.htm"); $pv->Display(); } else { ShowMsg('没有相关记录!','-1'); } exit();
例如 /templets/default/so.htm
<div>
<p>标题:{dede:field.title /}</p>
<p>缩略图:{dede:field.litpic /}</p>
<p>品牌:{dede:field.pinpai /}</p>
<p>货号:{dede:field.huohao /}</p>
<p>价格:{dede:field.jiage /}</p>
<p>内容:{dede:field.body /}</p>
</div>
可调用所有字段包括自定义字段
3、前台模板搜索框代码
<form method="post" action="{dede:global.cfg_cmspath/}/plus/so.php" >
<div id="search_box">
<p>标题精准搜索:<input type="text" name="title" value="" /></p>
<input type="submit" name="submit" value="开始搜索" />
</div>
</form>
注意:name="title" 不是 name="q"