优化增加搜索栏目功能后的搜索结果
本文主要为解决3个方面的小问题:
1:为搜索功能增加了能搜索栏目名称后(增加了搜索栏目的功能才有下面的代码),为了让栏目搜索结果和文章搜索结果差不多,那就是让关键词颜色也为蓝色,修改代码(文件include/arc.searchview.class.php)如下。(提示:".$row['typename']."修改成了".$this->GetRedKeyWord($row['typename']).",修改的地方很多,建议下载文件后进行对比,以下的仅提供部分代码的修改方法供参考)
function GetArcTypeList()
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,typeimg,description,sitepath
FROM `dede_arctype` WHERE ishidden<>1 and typename like '%".$this->Keyword."%' order by sortrank asc ";
$this->dsql->SetQuery($sql);
$this->dsql->Execute('l');
$result="";
while($row=$this->dsql->GetArray('l'))
{
$row['typelink'] = GetOneTypeUrlA($row);
if($row['typeimg']){
$result.= "
<div class=\"plate\">
<dl>
<dt><a href=\"".$row['typelink']."\"><img src=\"".$row['typeimg']."\"/><i></i></a></dt>
<dd class=\"have\">
<div class=\"title\"> <span><a href=\"".$row['typelink']."\" target=\"_blank\">".$this->GetRedKeyWord($row['typename'])."</a></span></div>
<div class=\"text\">".$row['description']."...<a href=\"".$row['typelink']."\" target=\"_blank\" class=\"more\">[详细]</a></div>
</dd>
</dl>
</div>
";
}else{
$result.= "
<div class=\"plate\">
<dl>
<dd class=\"have\">
<div class=\"title\"> <span><a href=\"".$row['typelink']."\" target=\"_blank\">".$this->GetRedKeyWord($row['typename'])."</a></span></div>
<div class=\"text\">".$this->GetRedKeyWord($row['description'])."...<a href=\"".$row['typelink']."\" target=\"_blank\" class=\"more\">[详细]</a></div>
</dd>
</dl>
</div>
";
}
}
2:如果搜索的关键词,搜索结果中包含了栏目的结果,返回如上图的“类目搜索结果”的文字,如果没有包含了关键词的栏目的结果,则不返回,搜索如下代码
/** * 获得相关的关键字 * * @access public * @param string $num 关键词数目 * @return string */
在这段代码之前加上
//根据关键字搜索栏目,返回栏目列表结果 if($result!='') $result="<h2>类目搜索结果</h2>".$result; return $result; }
如果搜索关键词,搜索结果中包含了又关键词的文章类型的结果,返回如上图的“文章搜索结果”,如果没有相关的文章,则返回对不起。这个我们只需在模板中search.htm增加代码
{dede:recordcount runphp='yes'}
if(@me!=0)@me="<h2>文章搜索结果</h2>";
else
@me="<h2>对不起</h2>";
{/dede:recordcount}
3:相关关键词功能,其实这个功能目前还是很鸡肋,但是万一有需要还是留个记号,这里需要修改的原因就是想实现,如果有相关文章就显示代码,如果没有就不显示代码,如下图,有相关的关键词就显示蓝色框内容,如果没有,就不显示包含红色框架内内容。
模板中调用标签是{dede:likewords num='8'/},include/arc.searchview.class.php文件中查找
$likeword = '';
$lsql = "(".$lsql.") AND NOT(keyword like '".addslashes($this->Keyword)."') ";
$this->dsql->SetQuery("SELECT keyword,count FROM `dede_search_keywords` WHERE $lsql ORDER BY lasttime DESC LIMIT 0,$num; ");
$this->dsql->Execute('l');
while($row=$this->dsql->GetArray('l'))
{
if($row['count']>1000)
{
$fstyle=" style='font-size:11pt;color:red'";
}
else if($row['count']>300)
{
$fstyle=" style='font-size:10pt;color:green'";
}
else
{
$style = "";
}
$likeword .= "<a href=\"search.php?keyword=".urlencode($row['keyword'])."&searchtype=titlekeyword\"".$style." target=\"_blank\">".$row['keyword']."</a>";
}
return $likeword;
}
}修改为
$likeword = '';
$lsql = "(".$lsql.") AND NOT(keyword like '".addslashes($this->Keyword)."') ";
$this->dsql->SetQuery("SELECT keyword,count FROM `dede_search_keywords` WHERE $lsql ORDER BY lasttime DESC LIMIT 0,$num; ");
$this->dsql->Execute('l');
while($row=$this->dsql->GetArray('l'))
{
if($row['count']>1000)
{
$fstyle=" style='font-size:11pt;color:red'";
}
else if($row['count']>300)
{
$fstyle=" style='font-size:10pt;color:green'";
}
else
{
$style = "";
}
$likeword .= "<a href=\"search.php?keyword=".urlencode($row['keyword'])."&searchtype=titlekeyword\"".$style." target=\"_blank\">".$row['keyword']."</a>";
}
}
if($likeword!='')
$likeword="<dl><dt>相关搜索:</dt>".$likeword."</dt></dl>";
return $likeword;
}点击下载已经修改的搜索页文件 解压密码:那些年球哥全名
推荐栏目
本站推荐
- 修改DEDE链接中的单引号为双引号
- DEDECMS启用绝对路径后远程缩略图存BUG
- 织梦dedecms自由列表的"不使用目录默认
- dedecms把文章批量设为未审核的办法
- 织梦调用父级栏目链接和名称
- 织梦data文件夹移动到程序上一层目录
- 优化增加搜索栏目功能后的搜索结果
- 织梦同级栏目指定文章调用实现相关文章教
- 织梦获取顶级栏目\当前栏目\上级栏目的相
- 织梦dedecms栏目添加自定义字段,增加栏
- 织梦DedeCMS自增函数[field:global name=
- dedecms织梦上传图片 缩略图路径统一
- 新增DEDE栏目页,无法更新,无权限
- 修改织梦摘要长度字数限制
- DEDECMS后台批量替换数据安全码不显示
- 织梦DEDECMS网站标签Tag静态化,生成静态
- 去掉FCK编辑器复制粘贴产生的<p>&a
- 完美解决FCK编辑器上传图片自动带DIV标签
- 去掉FCK编辑器每一段之前的空格 
- 织梦登录后台显示空白
百度站内搜索
Copyright © 2007-2014 芒果 保留所有权利.
无心无力无时间来进行无用的备案
Theme by 芒果 坚持不一定胜利 也许你在南辕北辙!



![织梦DedeCMS自增函数[field:global name=/]用法示例](http://www.muou.cc/uploads/allimg/170108/1-1F10R12922538-lp.jpg)
