if($this->SearchType != "titlekeyword") {$kwsqlarr[] = " ying_full_search.title like '%$k%' "; }else{ $kwsqlarr[] = " ying_full_search.title like '%$k%' "; $kwsqlarr[] = " ying_full_search.addinfos like '%$k%' "; $kwsqlarr[] = " ying_full_search.keywords like '%$k%' "; }分析下代码SearchType != "titlekeyword,搜索类型为titilekeyword,即前台搜索下拉框中的智能模糊搜索,$kwsqlarr[] = " ying_full_search.title like '%$k%' ";为搜索full_search表中的title字段,好了,知道了这段代码的作用,我们就知道该如何添加自己的搜索了下面把我的代码作为例子
if($this->SearchType != "skill"){ $kwsqlarr[] = " ying_full_search.myskill like '%$k%' "; $kwsqlarr[] = " ying_full_search.myexchange like '%$k%' "; }else{ $kwsqlarr[] = " ying_full_search.myexchange like '%$k%' "; $kwsqlarr[] = " ying_full_search.myskill like '%$k%' "; } if($this->SearchType != "goods"){ $kwsqlarr[] = " ying_full_search.mygoods like '%$k%' "; $kwsqlarr[] = " ying_full_search.myexchange like '%$k%' "; }else{ $kwsqlarr[] = " ying_full_search.myexchange like '%$k%' "; $kwsqlarr[] = " ying_full_search.mygoods like '%$k%' ";}因为我的myskill和myexchange2个字段是一起的,而mygoods和myexgoods是一起的,所以我用了2个if else语句 四:修改搜索框代码,代码在哪我就不说了吧,大家都知道在哪,搜索框原代码为
<</b>select name="searchtype" id="searchtype"> <</b>option value="titlekeyword" selected>智能模糊搜索 <</b>option value="title">仅搜索标题 <</b>/select>这里只需修改上面的代码,修改后的代码为
<</b>select name="searchtype" id="searchtype"> <</b>option value="skill" selected>搜技能 <</b>option value="goods">搜物品 <</b>/select> value="",这填的是第三步中添加的SearchType后面的,即搜索类型,这个你自己定义五:还是打开/include/inc_arcsearch_view.php,找到//处理一些特殊字段,把你之前的自定义的字段添加进去,这里还是以我的为例子在先面添加
$row["myskill"] = $this->GetRedKeyWord(cn_substr($row["myskill"],$infolen)); $row["myexchange"] = $this->GetRedKeyWord(cn_substr($row["myexchange"],$infolen)); $row["mygoods"] = $this->GetRedKeyWord(cn_substr($row["mygoods"],$infolen)); $row["myexgoods"] = $this->GetRedKeyWord(cn_substr($row["myexgoods"],$infolen));其实只要添加 $row["myskill"] = $row["myskill"];(另外3个我就不写了,类似)就够了,但是我为什么要这样写呢,这样写的作用就是让你在搜索结果页调用的时候显示关键子为红色 六:最后一步了,打开templets/default/search.htm,这里就是搜索页调用的模版,这里要调用只要[field:你自定义的字段/],还是以我的网站为例[field:myskill/],这样调用就OK,但是要注意一点,假如你2个字段放一起调用中间最好加个空格或者其他符号,假如[field:myskill/][field:mygoods/]这样连在一起是显示不出来的好了,写的这么详细,相信大家应该看的懂吧,虽然有点复杂,不过有总比没有好,呵呵。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。