织梦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"
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"
新闻资讯 更多
- 【织梦cms教程】dedecms5.7转帝国cms7.2方法03-02
- 【织梦cms教程】dedecms(织梦)自定义表单后台显示不全 自定义模型当中添加自定义字段后在后台添加内容后不显示解决方案03-01
- 【织梦cms教程】织梦DEDECMS网站首页如何实现分页翻页02-09
- 【织梦cms教程】织梦网站如何变成动态02-09
- 【织梦cms教程】织梦DEDECMS导航下拉菜单的实现方法02-08
- 【织梦cms教程】DedeCMS帝国备份王织梦系统网站搬家02-08
- 【织梦cms教程】织梦DedeCMS相关文章的调用方法01-27
- 【织梦cms教程】【织梦二次开发】dedecms删除文章同时删除附件01-21
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法