织梦dede搜索实现标题完全精准搜索

时间:2022年07月19日

/

来源:网络

/

编辑:佚名

织梦搜索实现标题完全精准搜索,就是搜索文档标题必须一模一样才有搜索结果,也就是完全关键词匹配。
1、在 /plus/ 新建一个 so.php 文件
<?php
require_once(dirname(__FILE__) . "/../include/common.inc.php");
require_once DEDEINC . "/arc.partview.class.php";
if ($title == '')
{
    ShowMsg('关键字不能为空!', '-1');
    exit();
}
$row = $dsql->GetOne("SELECT id FROM `dede__archives` WHERE title = '$title' ");
if (is_array($row))
{
    $chRow    = $dsql->GetOne("SELECT c.addtable FROM dede__archives AS a LEFT JOIN dede_channeltype AS c ON a.channel=c.id where a.id='{$row['id']}'");
    $addtable = trim($chRow['addtable']);
    $result   = $dsql->GetOne("SELECT arc.*,addf.* FROM `dede__archives` arc LEFT JOIN `{$addtable}` addf ON arc.id=addf.aid WHERE arc.arcrank>-1 AND arc.id = '{$row['id']}'");
    $pv       = new PartView();
    foreach ($result as $k => $v)
    {
        $pv->Fields[$k] = $v;
    }
    $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $cfg_df_style . "/so.htm");
    $pv->Display();
}
else
{
    ShowMsg('没有相关记录!', '-1');
}
exit();
2、添加 so.htm 模板文件
例如 /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"
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。